第一个50条

来源:互联网 发布:java框架学那些比较好 编辑:程序博客网 时间:2024/04/29 03:07
//1输入输出#include<iostream>int main(){using namespace std;cout<<"Come up and C++ me some time.";cout<<endl;cout<<"You won't regret it."<<endl;cin.get();return 0;}//2carrot#include<iostream>using namespace std;int main(){int carrot;carrot=25;cout<<"Now,I have "<<carrot<<endl;carrot=carrot-1;cout<<"But now,I have "<<carrot;return 0;}//3数学公式#include<iostream>#include<cmath>using namespace std;int main(){double area,side;cout<<"请输入area:";cin>>area;side=sqrt(area);cout<<side<<endl;cin.get();cout<<"How interesting!";return 0;}//4函数调用(无返回值的void函数)  #include<iostream> using namespace std; void simon(int n); int main() { int k; simon(3);cout<<endl; cout<<"请输入数值:"; cin>>k;simon(k);return 0;} void simon(int n){cout<<"Ok!Now,it is time to show "<<n<<".";}//5函数调用(有返回值的函数)#include<iostream>using namespace std;int stonetolb(int);int main(){int n;cout<<"请输入n:";cin>>n;cout<<n<<"*"<<n<<"="<<stonetolb(n);return 0; } int stonetolb(int n){return n*n;}//6换化温度#include<iostream>using namespace std;int main(){cout<<"请输入摄氏度:";int s,h;cin>>s;cout<<"对应华氏度为"<<s*1.8+32;return 0;  } //7简单的void函数#include<iostream>using namespace std;void time(int h,int m);int main(){int hour,min; cout<<"请输入小时:"; cin>>hour;cout<<"请输入分钟:";cin>>min;time(hour,min);return 0; }void time(int h,int m){cout<<"Time:"<<h<<":"<<m;}//8sizof()字节函数#include<iostream>using namespace std;int main(){int n_int=INT_MAX;short n_short=SHRT_MAX;long n_long=LONG_MAX;long long n_llong=LLONG_MAX;cout<<"int short long llong对应的字节为:"<<endl;cout<<sizeof(n_int)<<" "<<sizeof(n_short)<<" "<<sizeof(n_long)<<" "<<sizeof(n_llong)<<endl;cout<<"int short long llong对应的最大值为:"<<endl;cout<<n_int<<" "<<n_short<<" "<<n_long<<" "<<n_llong<<endl;return 0; }//9short和unsigned short的范围#include<iostream>using namespace std;#define zero 0int main(){short sam=SHRT_MAX;unsigned short sue=zero;cout<<"现在,sam是SHORT的最大:"<<sam<<endl;cout<<"sue是最小:" <<sue<<endl;cout<<"对应加一和减一试试:" <<endl;sam+=1;sue-=1;cout<<sam<<endl;cout<<sue<<endl;return 0; } //10不同基数#include<iostream>using namespace std;int main(){int chest=42;int waist=042;int inseam=0x42;cout<<"现在转换!(默认十进制转出)"<<endl;cout<<chest<<" "<<waist<<" "<<inseam;return 0;  } //11不同基数#include<iostream>using namespace std;int main(){int chest=42;int waist=042;int inseam=0x42;cout<<"现在转换!"<<endl;cout<<hex<<chest<<" "<<oct<<waist<<" "<<dec<<inseam;return 0;  }   //12单个字符或数字 #include<iostream>using namespace std;int main(){char ch;cout<<"请输入ch:";cin>>ch;cout<<ch;return 0; }  //13ASCll码与对应数字的关系#include<iostream>using namespace std;int main(){char ch;cin>>ch;int i;i=ch;cout<<i<<endl;ch=ch+1;i=ch;cout<<i<<" "<<ch<<endl<<endl;return 0; } //14下划线的,转义字符的应用#include<iostream>using namespace std;int main(){cout<<"\aOpreation \"Hyperhype\" is now activated!\n";cout<<"请输入______\b\b\b\b\b";long code;cin>>code;cout<<"\a你输入的代码是"<<code;return 0; }//15按位计算#include<iostream>using namespace std;int main(){unsigned int a=0x3,b=0x2;//变量尽量使用非十进制形式输入,便于理解和观察二进制位结果const unsigned int BIT1MASK=0x1;//定义掩码,使用符号常量a=a&(~BIT1MASK);//按位与,屏蔽a的第1位,即将a的第1位置为0,其他位不变b=b|BIT1MASK;  //按位或,将b的第1位置为1,其他位不变cout<<a<<endl;cout<<b<<endl;return 0;}//16费波拉契#include<iostream>using namespace std;int main(){const int N=20;int a=0;int s[N];s[0]=0;s[1]=1;for(a=2;a<N;a++)s[a]=s[a-1]+s[a-2];for(a=0;a<N;a++)cout<<s[N-a-1]<<" ";//for(a=N-1;a>=0;a--)   cout<<s[a]<<" "; return 0; } //费波拉契//递归函数#include<iostream>using namespace std;int fib(int n);int main(){int i;cout<<"请输入大于等于1 的整数:";cin>>i;cout<<"结果是"<<fib(i)<<endl;return 0;  } int fib(int n) { int jieguo; if(n==1||n==2) return 1; else if(n==3) return 2; else if(n>2) jieguo=fib(n-1)+fib(n-2); return jieguo;   }  //17从键盘上输入不超过30长度的字符串,统计其中所有十进制数字的个数#include<iostream>#include<cctype>using namespace std;int main(){int k;int m=0;const int N=30;char a[N]={0};cin>>a;for(k=0;k<N;k++){if(isdigit(a[k]))m++;}cout<<m; }   //18输入一个三位数,求得到的百位十位个位数,重新排列的最大最小数#include<stdio.h>#include<windows.h>#include<algorithm>using namespace std;int main(){int a,b,c,d,e,Max,Min,mid;scanf("%d",&a);b=a/100;c=(a%100)/10;d=a-100*b-10*c;printf("%d   %d   %d",b,c,d);system("pause");Max=max(max(b,c),d);Min=min(min(b,c),d);mid=b+c+d-Max-Min;a=Max*100+mid*10+Min;e=Min*100+mid*10+Max;printf("%d    %d     %d",Max,mid,Min);printf("最大值  %d",a);printf("最小值  %d",e);return 0;}//19小动画#include<iostream>#include<iomanip>#include<windows.h>using namespace std;int main(){int i,j,col=1;char c;cin>>c;for(i=0;i<10;++i){system("cls");cout<<setw(col)<<c; //必有iomanip Sleep(1000); //1000毫秒,必有windows ++col;}cout<<endl;return 0; }  //20十进制浮点数转化二进制#include <iostream>#include <stdio.h>using namespace std;int main(){  float x;    void tob(float);    while(1)    {        cout<<"输入整数(输入-1退出):";        cin>>x;if(x==-1)break;        cout<<"输出结果为:"<<endl;        tob(x);     }    return 0;}void tob(float x){  int a,r,i=0,s[64];    float b;    a=(int)x;    b=x-a;    while(a!=0) {        r=a%2;        s[i]=r;        a=a/2;        i++;    }    while(i>0) {cout<<s[i-1];  i--;}    if(b!=0)    cout<<'.';    while(b!=0) {        r=(int)(b*2);        b=b*2-r;        cout<<r;    }    cout<<endl;}//21二维数组S形#include<iostream>using namespace std;int main(){int nRow,nCol;int nMatrix[6][6]={0};for(nRow=0;nRow<5;nRow++){for(nCol=0;nCol<5;nCol++){if(nRow%2==0)nMatrix[nRow][nCol]=nRow*5+nCol+1;elsenMatrix[nRow][4-nCol]=nRow*5+nCol+1; }}cout<<"输出\n"; for(nRow=0;nRow<5;nRow++){for(nCol=0;nCol<5;nCol++){cout<<nMatrix[nRow][nCol];if(nMatrix[nRow][nCol]<10) cout<<" ";elsecout<<" ";}cout<<endl;}return 0; }   //22计算位数#include<iostream>using namespace std;int main(){int a;cin>>a;int i=0;while(a){a=a/10 ;i++;}cout<<"位数为"<<i<<endl; return 0; }  //23输入字符串,计算输入字符的个数#include<iostream>using namespace std;int main(){char ch;int a;cout<<"输入字符串,以#结束,计算字符个数"<<endl;cin>>ch;while(ch!='#'){a++;    cin>>ch;}cout<<"有"<<a<<"个字符"<<endl;return 0; }//24九九乘法表#include<iostream>using namespace std;int main(){int i,j;cout<<"*\t";for(i=1;i<=9;i++)cout<<i<<"\t" ;cout<<"\n-----------------------------------"    <<"-------------------------------------------\n";     for(i=1;i<=9;i++)    {    cout<<i<<"\t";    for(j=1;j<=i;j++)    cout<<i*j<<"\t";    cout<<endl;}return 0;}//25小学生计算器#include<iostream>using namespace std;int main(){cout<<"请输入你需要计算的数\n例如:3+5"; int a,b;char c;cin>>a>>c>>b;switch(c){case '+':cout<<a<<"+"<<b<<"="<<a+b<<endl;break;case '-':cout<<a<<"-"<<b<<"="<<a-b<<endl;break;case '*':cout<<a<<"*"<<b<<"="<<a*b<<endl;break;case '/':cout<<a<<"/"<<b<<"="<<a/b<<endl;break; default:cout<<"输入有误" <<endl;}return 0; }   //26判断完数【它所有的真因子(即除了自身以外的约数)的和(即因子函数),恰好等于它本身】#include<iostream>using namespace std;int main(){int n,s,i,k;cout<<"请输入你要判断的数n"<<endl;cin>>n;s=0;for(i=1;i<n;++i){k=n%i;if(k==0)s=s+i;elses=s; }  if(s==n) cout<<"你所判断的数为完数"<<endl; else cout<<"你所判断的数不是完数"<<endl; return 0; }//27三角形三边断定#include<iostream>using namespace std;int main(){double a,b,c;cout<<"请输入三边边长"<<endl;cout<<"a=";cin>>a;cout<<"b=";cin>>b;cout<<"c=";cin>>c;  if(a+b>c&&a+c>b&&b+c>a&&a-b<c&&a-c<b&&b-c<a) cout<<"是"<<endl;elsecout<<"否"<<endl;system("pause");return 0;}//28水仙花数#include<iostream>using namespace std;int main(){int a,b,c,d;cout<<"任意输入一个数,输出水仙花数";cin>>a;for(a=100;a<=999;a++)  {b=a/100;     c=(a/10)%10;    d=a%10;    if(a==b*b*b+c*c*c+d*d*d)   cout<<a<<endl;}return 0;}//29随机数#include<iostream>#include<cstdlib>#include<ctime>using namespace std;int main(){double n;srand((unsigned)time(0));n=rand()%10;cout<<n<<endl;return 0; }//30判断n以内的完数#include<iostream>using namespace std;int main(){//判断n以内的完数int a,n,c;cin>>n;for(a=1;a<=n;++a){if(n%a==0)c+=a;cout<<c<<endl;}return 0;  }   //31字符串的拼接 #include<iostream> using namespace std; int main() { char a[]="字符串1"; char b[]="字符串2"; int c=0,d=0; while(a[c]!='\0') c++; do{ a[c++]=b[d++]; }while(b[d]!='\0');a[c]='\0'; for(int i=0;i<c;i++) cout<<a[i]; }  //32最大公约数和最小公倍数#include<iostream>using namespace std;int main(){int a,b,r,p,temp;cout<<"Input a,b:";cin>>a>>b;p=a*b;if(b>a){temp=a; a=b;  b=temp;}while(b!=0){r=a%b; a=b;  b=r;}cout<<a<<endl;cout<<p/a<<endl;return 0;}//33替换密码#include<iostream>#include<stdlib.h> using namespace std;int main(){char a[4];int i=0;while(1){ cout<<"请输入一串字符:";for(i=0;i<4;i++)cin>>a[i];for(i=0;i<4;i++){if(a[i]>='a'&&a[i]<'x'||a[i]>='A'&&a[i]<'X')      a[i] =a[i]+3;    else      a[i]=a[i]-23;} cout<<"替换后密码:"; for(int i=0;i<4;i++)    cout<<a[i];system("pause");}return 0;}//34输入菱形//教材P69例3-10#include<iostream>#include<iomanip>using namespace std;const int N=2;int main(){    int k,n,i,j;    do    {        cout<<"请输入菱形的行数(奇数):";        cin>>k;        if(k%2==0)        {            cout<<"输入数据有错,请重新输入!";            continue;        }        else            break;    }while(true);    //菱形的上三角    n=(k+1)/2;    for(i=0; i<n; ++i)//循环嵌套,外层i控制行,内层j控制列    {        for(j=0; j<n-1-i;++ j)//输出每行前面的空格,注意j<n-1-i的含义,将此处的n-1改为30,看看程序运行结果                                    //只要保证相邻两行首字母列位置相差1即可            cout<<" ";        for(j=0; j<=i; ++j)//输出字符,注意字符A和B输出位置        {            if(j==0 || j==i)                cout<<setw(N)<<'A'; //注意此处字符输出宽度为2,保证相邻两行相应字符列对齐方式            else                cout<<setw(N)<<'B';        }        cout<<endl;    }    //仿照上述上三角打印输出思路,修改下列菱形的下三角输出代码    n=n-1;    for(i=n; i>0; i--)    {        for(j=0; j<n-i+1; j++)            cout<<" ";        cout<<setw(N)<<'A';        for(j=2; j<i; j++)            cout<<setw(N)<<'B';        if(i!=1)cout<<setw(N)<<'A';        cout<<endl;    }    return 0;}//35switch用法#include<iostream>#include<string>using namespace std;int main(){int s;char jieguo;cin>>s; if(s>100||s<0)cout<<"输入有误" ; else{switch(s/10){case 10:jieguo='A';break;case 9:jieguo='A';break;case 8:jieguo='B';break;case 7:jieguo='C';break;case 6:jieguo='D';break;default:jieguo='E';}cout<<"结果是"<<jieguo; } return 0; }   //36 1元换1、2、5分用多少种#include<iostream>using namespace std;int main(){int x,y,z,s=0;for(x=0;x<=20;x++)for(y=0;y<=50;y++)for(z=0;z<=100;z++) {if((5*x+2*y+z)==100)cout<<"5分2分1分分别有:"<<x<<" "<<y<<" "<<100-x-y<<endl; ++s;}cout<<"一共有"<<s<<"种"; return 0; }   //37百钱买百鸡:假定小鸡每只5角,公鸡每只2元,母鸡每只3元。现在有100元钱要求买100只鸡,编程列出所有可能的购鸡方案。#include <iostream>using namespace std;int  main(){int x,y;for(x=0;x<=33;++x){for(y=0;y<=50;++y){if (3 * x + 2 * y + 0.5 * (100 - x - y) == 100)  //判断条件cout<<"x,y,z:"<<x<<"  "<<y<<"  "<<100-x-y<<endl;}}return 0;}//38阶乘#include<iostream>  using namespace std;  int jiecheng(int n);  int main()   {int c;  cin>>c;  cout<<jiecheng(c)<<endl;  }  int jiecheng(int n)  {  int a=1;if(n==0)return 1;elsereturn a=n*jiecheng(n-1);  }  //39从键盘上输入两个整数,使用数值传递交换两数#include<iostream>using namespace std;void jiaohuan(int &a,int &b);int main(){int x,y;cin>>x>>y;jiaohuan(x,y);cout<<x<<y<<endl;return 0; } void jiaohuan(int &a,int &b) { int t; t=a; a=b; b=t; }    //40/*爱因斯坦出了一道这样的数学题:有一条长阶梯,若每步跨2阶,则最最后剩一阶;若每步跨3 阶,则最后剩2阶;若每步跨5阶,则最后剩4阶;若每步跨6阶则最后剩5阶;只有每次跨7阶,最后才正好一阶不剩。请问这条阶梯共有多少阶?题目分析与算法设计:根据题意,阶梯数同时满足条件:*/#include<iostream>using namespace std;int main(){    //总体思想:从1层开始逐层试,直到满足条件为止int i=1;                  //i为所设的阶梯数    while(!((i%2==1)&&(i%3==2)&&(i%5==4)&&(i%6==5)&&(i%7==0)))        ++i;                  //没有同时满足条件    cout<<"staris_number:"<<i<<endl;return 0;}//41/*有4个小孩踢皮球,不小心打烂了玻璃,老师问是谁干的。A说:不是我B说:是CC说:是DD说:他胡说现已知3个小孩说的是真话,一个小孩是假话。根据这些信息,编程找出打烂玻璃的孩子。*/#include<iostream>using namespace std;int main(){//假设k是打烂玻璃的孩子,相应ABCD为:A(k!=1),B(k==3),C(k==4),D(k!=4)int k;for(k=1;k<5;k++){if((k!=1)+(k==3)+(k==4)+(k!=4)==3) break;}  cout<<"打碎玻璃的是";  switch(k) { case 1: cout<<"A"; break; case 2: cout<<"B"; break;case 3: cout<<"C"; break; case 4: cout<<"D"; break;  } return 0; } //42打印3个相邻字母#include <iostream>#include<cctype>using namespace std;int main(){    char c,c1,c2,c3;    cout<<"请输入一个字符";     cin>>c;    c=toupper(c); //用户有可能输入小写,也可能输入大写。将输入字符转换为大写,便于处理    c1=c; //第一个字符    if(c1>87)    {    c2=c1-25;    c3=c1-24;}else{c2=c1+1;c3=c1+2;} cout<<(int)c1<<" "<<(int)c2<<" "<<(int)c3<<endl;//输出三个字符的ASCII    cout<<c1<<" "<<c2<<" "<<c3<<endl;  //输出三个字符    return 0;}       /*c2=(c+1-65)%26+65;//考虑到输入字符后续字符数不够2个,先算出后续第1个字符距字母A的偏移量,然后再加上65即为该字符ASCII码    c3=(c+2-65)%26+65;//同上,先算出后续第2个字符距字母A的偏移量,然后再加上65即为该字符ASCII码    cout<<(int)c1<<" "<<(int)c2<<" "<<(int)c3<<endl;//输出三个字符的ASCII    cout<<c1<<" "<<c2<<" "<<c3<<endl;  //输出三个字符    return 0;}*///43动画#include<iostream>#include<iomanip>#include<ctime>#include<windows.h>#define N 1000 using namespace std;int main(){int i,j,row,col;//row col  行列 char c;system("color 0C");//设置控制台背景色和前景色,0背景色,C前景色srand((unsigned)time(0));for( i=0;i<30;++i){row=1+rand()%10;  //rand()函数生成0~RAND_MAX之间的随机整数col=5+rand()%31;c=65+rand()%20;for(j=0;j<row;++j)cout<<endl;cout<<setw(col)<<c<<endl;Sleep(N);system("cls");}return 0;}//44最大值//3-1(在两个数中找最大值)//if语句 /*#include<iostream>using namespace std;int main(){int a,b,max;cout<<"输入a,b"<<endl;cin>>a>>b;if(a>b) max=a;elsemax=b;cout<<"最大值是:"<<max<<endl;return 0;  } */  //?:语句 /*#include<iostream> using namespace std; int main() { int a,b,max; cout<<"输入a,b"<<endl;cin>>a>>b;max=(a>b?a:b);cout<<"最大值是:"<<max;return 0;  } */            //可以3个数或以上    //45自动类型转换#include<iostream>using namespace std;int main() {int i;double d;d=i=3.5; //自动类型转换i=d=3.5; //自动类型转换cout<<d<<endl;cout<<i<<endl;}//46素数//素数#include<iostream>#include<cmath>using namespace std;int main(){int a,b,temp,m,t,i;while(true){cin>>a>>b;if(a<b)break;else{temp=a;a=b;b=temp;}//保证最大是b;} if(a%2==0||a==1)a++;for(m=a;m<=b;m++){t=sqrt(m);for(i=2;i<=t;i++)if(m%i==0)break;if(i>t)cout<<m<<" ";} return 0;}//47判断是否是回文数如12321#include <stdio.h>#include <string.h>#include<ctype.h>int  main(){    char s[100];  // 存放输入的字符串    int i, j, n;    printf("请判断是否属于回文词汇");    gets(s);//输入字符串     n=strlen(s);//长度     for(i=0,j=n-1;i<j;i++,j--)    {if((int)s[0]!=tolower(s[n-1])&&(int)s[0]!=(toupper(s[n-1]))){break;}i++;j--;     if(s[i]!=s[j]) {break;}}        if(i>=j)            printf("Yes\n");        else            printf("No\n");} //48输入信息至文档#include<iostream>#include<string>#include<fstream>using namespace std;int main(){string fname;cout<<"请给你的文件命名:";cin>>fname;ofstream fin(fname.c_str());fin<<"姓名 学号 计算机 高数\n小草  01    99     98\n石头  02    78    100\n过河  03    98     88" ;return 0;}//49从文档读入信息#include<iostream>#include <fstream>#include<string>using namespace std;int main(){string fname;cout<<"请输入文件名";cin>>fname;ifstream fin(fname.c_str());//建立ifstream对象fin,与fname文件关联并打开文件string line;while(getline(fin,line) ){  cout<<line<<endl;}fin.close();return 0;}//50结构体的简单应用#include <iostream>using namespace std;const int N=4;struct student{    int num;    char name[20];    int math;    int computer;    float  aver;};int main(){    student stu[N],temp;    int i,j,k;    //数据输入    for(i=0; i<N; ++i)    {        cin>>stu[i].num>>stu[i].name>>stu[i].math>>stu[i].computer;//逐个输入一个同学的每个信息项        stu[i].aver=(stu[i].math+stu[i].computer)/2.0;  //计算一个同学的平均成绩,注意数据类型    }    //排序    for(i=0; i<N-1; i++)    {        k=i;        for(j=i+1; j<N; j++)            if(stu[k].aver<stu[j].aver)k=j;        if(k!=i)        {            temp=stu[i]; //用结构体类型数据直接进行交换            stu[i]=stu[k];            stu[k]=temp;        }    }//输出    cout<<endl;    for(i=0; i<N; ++i)        cout<<stu[i].num<<" "<<stu[i].name<<" "<<stu[i].aver<<endl;  //可以输出同学部分信息    return 0;}