C++编程实例.doc

上传人:汽*** 文档编号:392309429 上传时间:2023-11-07 格式:DOC 页数:31 大小:77KB
返回 下载 相关 举报
C++编程实例.doc_第1页
第1页 / 共31页
C++编程实例.doc_第2页
第2页 / 共31页
C++编程实例.doc_第3页
第3页 / 共31页
C++编程实例.doc_第4页
第4页 / 共31页
C++编程实例.doc_第5页
第5页 / 共31页
点击查看更多>>
资源描述

《C++编程实例.doc》由会员分享,可在线阅读,更多相关《C++编程实例.doc(31页珍藏版)》请在金锄头文库上搜索。

1、例313求Fibonacci数列前40个数。这个数列有如下特点:第1、2个数为1、1。从第3个数开始,每个数是其前面两个数之和。#include #include using namespace std;int main( )long f1,f2;int i;f1=f2=1;for( i=1; i=20; i+ )/设备输出字段宽度为12,每次输出两个数coutsetw(12)f1setw(12)f2; /每输出完4个数后换行,使每行输出4个数if(i%2=0) coutendl;f1=f1+f2; /左边的f1代表第3个数,是第1、2个数之和f2=f2+f1; /左边的f2代表第4个数,是第

2、2、3个数之和return 0;例314100200间的素数#include #include #include using namespace std;int main() int m,k,i,n=0; bool prime; for(m=101;m=200;m=m+2) prime=true;k=int(sqrt(m); for(i=2;i=k;i+)if(m%i=0) prime =false; break; if(prime) cout setw(5) m; n=n+1; if(n%10=0) cout endl; cout endl;return 0;例315译密码#include

3、using namespace std;int main()char c; while (c=getchar()!=n)if(c=a&c=A&cZ&cz)c=c-26;coutc;coutendl;return 0;习题:16、统计个数#include using namespace std;int main ()char c; int letters=0,space=0,digit=0,other=0; coutenter one line:=a & c=A & c=0 & c=9) digit+; else other+; coutletter:letters, space:space,

4、digit:digit, other:otherendl; return 0; 17、求Sn=a+aa+aaa+aaa(n个a)的值,n由键盘输入。#includeusing namespace std;int main ()int a,n,i=1,sn=0,tn=0; coutan; while (i=n) tn=tn+a; /赋值后的tn为i个a组成数的值 sn=sn+tn; /赋值后的sn为多项式前i项之和 a=a*10; +i; couta+aa+aaa+.=snendl; return 0; 18、.求1!+2!+20!、#include using namespace std;in

5、t main ()float s=0,t=1; int n; for (n=1;n=20;n+) t=t*n; / 求n! s=s+t; / 将各项累加 cout1!+2!+.+20!=sendl; return 0; 19、求“水仙花数”例153=13+33+53#include using namespace std;int main ()int i,j,k,n; coutnarcissus numbers are:endl; for (n=100;n1000;n+) i=n/100; j=n/10-i*10; k=n%10; if (n = i*i*i + j*j*j + k*k*k)

6、coutn ; coutendl;return 0; 20、找出1000之内所有的完数例如6的因子是1.2.3而6=1+2+3,所以6是完数#include using namespace std; int main() int m,s,i; for (m=2;m1000;m+) s=0; for (i=1;im;i+) if (m%i)=0) s=s+i; if(s=m) coutm is a完数endl; coutits factors are:; for (i=1;im;i+) if (m%i=0) couti ; coutendl; return 0; 21、2/1, 3/2, 5/3

7、, 8/5, 13/8, 21/13,前20项之和#include using namespace std;int main() int i,t,n=20; double a=2,b=1,s=0; for (i=1;i=n;i+) s=s+a/b; t=a; a=a+b; / 将前一项分子与分母之和作为下一项的分子 b=t; / 将前一项的分子作为下一项的分母 coutsum=sendl; return 0; 24、输出图形#include using namespace std;int main() int i,k; for (i=0;i=3;i+) / 输出上面4行*号 for (k=0;

8、k=2*i;k+) cout*; / 输出*号 coutendl; /输出完一行*号后换行 for (i=0;i=2;i+) / 输出下面3行*号 for (k=0;k=4-2*i;k+) cout*; / 输出*号 coutendl; / 输出完一行*号后换行 return 0;习题:1、求最大公约数和最小公倍数,用主函数条用两个函数 #include using namespace std;int main() int hcf(int,int); int lcd(int,int,int); int u,v,h,l; cinuv; h=hcf(u,v); coutH.C.F=hendl; l

9、=lcd(u,v,h); coutL.C.D=lu) t=u;u=v;v=t; while (r=u%v)!=0) u=v; v=r; return(v); int lcd(int u,int v,int h) return(u*v/h); 3、判别素数的函数 #include using namespace std;int main() int prime(int); /* 函数原型声明 */ int n; coutn; if (prime(n) coutn is a prime.endl; else coutn is not a prime.endl; return 0; int prim

10、e(int n) int flag=1,i; for (i=2;in/2 & flag=1;i+) if (n%i=0) flag=0; return(flag); 4、.求a!+b!+c!的值,用一个函数fac(n)求n!。4#include using namespace std;int main() int fac(int); int a,b,c,sum=0; coutabc; sum=sum+fac(a)+fac(b)+fac(c); couta!+b!+c!=sumendl; return 0; int fac(int n) int f=1; for (int i=1;i=n;i+) f=f*i;

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 文学/艺术/历史 > 人文/社科

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号