logo资料库

c++经典例题.doc

第1页 / 共59页
第2页 / 共59页
第3页 / 共59页
第4页 / 共59页
第5页 / 共59页
第6页 / 共59页
第7页 / 共59页
第8页 / 共59页
资料共59页,剩余部分请下载后查看
/* 1、打印出所有的“水仙花数”。所谓“水仙花数”是指一个三位数,其各位数字立方和等于 该数本身。例如,153 是一水仙花数,因为 153 = 13 + 53 + 33。 */ #include void main() { int i, a=0, b=0, c=0; for(i=100;i<1000;i++) { a=i%10; b=i/10%10; c=i/100%10; if(a*a*a+b*b*b+c*c*c==i) cout<<"i="< void main() { int i,j,sum=0,a[50],k,t; for(i=1;i<=1000;i++) { sum=0; for(j=1;j"; for(k=0;k
} } /* 3、求 Sn=a+aa+aaa+…+aa…a 之值,其中 a 是一个数字。例如:2+22+222+…+22222(此时 n=5),n 由键盘输入。*/ #include void main() { double a,sn=0.0,sum=0.0; int n,i; cout<<"please input a number"; cin>>a; cout<<"please input n number"; cin>>n; sn=a; sum=a; for(i=2;i<=n;i++) { sum=sum*10+a; sn+=sum; } cout<<"Sn="< void main() { double h1=100,h2=100,sum=0.0; int i; for(i=1;i<=10;i++) { sum+=h2; h1=h1/2.0; h2=h1*2; } cout<<"sum="<>a; cout<<"a 的值为:"< void main() { int i,j,temp,a[10]; cout<<"please input ten numbers:\n"; for(i=0;i<10;i++) cin>>a[i]; for(i=0;i<10;i++) //每循环一次确定数组中一个数的位置 for(j=i+1;j<10;j++) //每次循环对比一个数的大小 { if(a[i]>a[j]) { temp=a[j]; a[j]=a[i]; a[i]=temp; } } cout<<"resort result="; for(i=0;i<10;i++) cout<
/* 2、用递归方法求 n 阶勒让得多项式的值,递归公式为 Pn(x) = 1 (n = 0) x (n = 1) ((2n-1)*x*Pn-1(x)-(n-1)*Pn-2(x))/n (n > 1) */ #include double fun (double,double); void main() { double n,x,sum; cout<<"input n and x"<>n>>x; sum=fun(n,x); cout<<"P"<1) return ((2*n1-1)*x1*fun(n1-1,x1)-(n1-1)*fun(n1-2,x1))/n1; } x1; /* 3、编写一函数,由实参传来一字符串,统计此字符串中字母、数字、空格、和其它字符的 个数,并在主函数中输入字符串以及输出上述结果。 */ #include void judge(char a[]); void main() { const int size=100; char a[size]; cin.getline(a,size); judge(a); } void judge(char a[100])//判断字符类型 { int letter=0,number=0,others=0,i=0; while(a[i]!='\0') { if ((a[i]>='a'&&a[i]<='z')||(a[i]>='A'&&a[i]<='z')) letter++;//统计字母个数 else if (a[i]>='0' && a[i]<='9') number++;//统计数字个数 else others++;//统计其他数个数 i++; } cout<<"letter="<
/* 4、给出年、月、日,计算该日是该年的第几天。 */ #include int lead(int); void main() { int ly,year,month,date,i,sum=0; cout<<"input year、month、date: "; cin>>year>>month>>date; int a[12]={31,0,31,30,31,30,31,31,30,31,30,31}; ly=lead(year); if (ly==1) a[1]=29;//366 天 else a[1]=28;//365 天 for(i=0;i int cdivisor(int,int); int cmultiple(int,int,int); void main() { int x,y,d,m; cout<<"input two number: "; cin>>x>>y; d=cdivisor(x,y); m=cmultiple(x,y,d); cout<<"common divisor is "<
} while(x1%y1)//当较大数除以较小数余数等于 0 时,较小数为最大公约数 { r=x1%y1; x1=y1; y1=r; } return y1; } int cmultiple(int x2,int y2,int d1)//最小公倍数 { return x2*y2/d1;//两数相乘结果除以它们的最大公约数为最小公倍数 } /* 6、写一函数,将两个字符串连接。 */ #include #include void main() { const int size=100; char a[size],b[size]; cout<<"input two string:"< void back(char *); void main() { char a[50]="abcdefg"; cout<<"a="< void back(char *p) { int i=0; while(*p!='\0') {
p++;//把指针定位到字符串末尾 i++;//统计字符个数 } cout<<"a="; for(;i>0;i--)//逆序输出 { p--; cout<<*p; } cout< void tri(int a[][15]); void main() { int i,j,a[15][15]; tri (a); cout<<"a= "; for(i=0;i<15;i++)//遍历整个数组 { for(j=0;j<=i;j++) { cout<=1&&a[i][j]<=9)//当输出个位数之后输出 4 个空格保持整齐 cout<<" else if (a[i][j]>=10&&a[i][j]<=99)//当输出十位数之后输出 3 个空格保持整齐 cout<<" else if(a[i][j]>=100&&a[i][j]<=999)//当输出百位数之后输出 2 个空格保持整齐 "; "; cout<<" else cout<<" ";//当输出百位数之后输出 1 个空格保持整齐 "; ";//每行输出结束后换行 } cout<
分享到:
收藏