C++编程基础题训练答案.docx
- 文档编号:5687248
- 上传时间:2022-12-31
- 格式:DOCX
- 页数:9
- 大小:15.44KB
C++编程基础题训练答案.docx
《C++编程基础题训练答案.docx》由会员分享,可在线阅读,更多相关《C++编程基础题训练答案.docx(9页珍藏版)》请在冰豆网上搜索。
C++编程基础题训练答案
1、输入3个数,求最大数。
#include
usingnamespacestd;
intmain()
{inta,b,c,max;
cout<<"请输入三个数字:
"< cin>>a>>b>>c; max=(a>b)? a: b; if(c>max) max=c; cout<<"最大值: "< return0; } 2、韩信点兵: 有一个数,用3除余2;用5除余3;用7除余2;求满足条件的最小数。 #include usingnamespacestd; intmain() { inta; for(a=1;a<1000;a++) { if(a%3==2&&a%5==3&&a%7==2) {cout< break;} } return0; } 3、求1+2+3+…+100 #include usingnamespacestd; intmain() {ints=0; inta=1; do { s=s+a; a=a++; } while(a<101); cout< return0; } 4、求1-2+3-4+…-100 #include usingnamespacestd; intmain() { inta,s=0,s1=0,s2=0; for(a=1;a<101;a++,a++) { s1+=a; } for(a=-2;a>-101;a=a-2) { s2=s2+a; } s=s1+s2; cout< return0; } 5、求1+1/2+1/3+…+1/100 #include usingnamespacestd; voidmain() { floata,m; floats=0; for(a=1;a<101;a++) {m=1/a; s=s+m; } cout<<"s="< } 6、求输入n,求n! (需判断n的合法性)递归调用 #include usingnamespacestd; intfac(intn) { if(n==0) return1; else returnfac(n-1)*n; } intmain() { while (1) {intx,y,n; cout<<"输入一个整数: \n"; cin>>x; fac(x); cout< } return0; } 7、求1! +2! +3! +…+10! #include usingnamespacestd; intmain() { ints=0; intt=1; intn; for(n=1;n<11;n++) { t=t*n; s=s+t; } cout<<"1! +2! +3! +...+10! ="< return0; } 8、求1+1/2! +1/3! +…1/n! ,直到1/n! <1E-5为止 第一种方法: #include usingnamespacestd; voidmain() { doubles=0; doublet=1; doublen=1; do{ t=t*n; s=s+1/t; n++; } while(t<1e5); cout<<"1/1! +1/2! +1/3! +...+1/n! ="< } 第二种方法: #include usingnamespacestd; voidmain() { doublesum=;.+"< ="< return0; } 18、求1! -3! +5! -7! +……前n项的和 #include usingnamespacestd; intmain() { intm,n=1,x=1,y=-1,sum=0; doublea,b=1,s=0; cin>>m; for(inti=1;i<=m;i++) { n=2*i-1; a=1; for(intj=1;j<=n;j++) { x*=y; a*=j; b=a*(-x); } sum+=b; }cout< return0; } 19、求1*2+2*3+3*4+……前n项的和 #include usingnamespacestd; intmain() { intm,i,n,s=0; cin>>n; for(i=1;i<=n;i++) { m=i*(i+1); s+=m; } cout< return0; } 20、从键盘输入一个整数,判断它是否为素数 #include usingnamespacestd; intmain() { intn,i,m; cin>>n; for(i=2;i { m=n%i; if(m==0) break; } if(m==0) cout<<"不是素数。 "< else cout<<"是素数。 "< return0; } 21、求3到1000之间的所有素数的和。 #include #include usingnamespacestd; intmain() { intn,i,k,s=0,j=0; for(n=3;n<=1000;n++) { k=sqrt(n); for(i=2;i<=k;i++) if(n%i==0) break; if(i>k) { cout< s+=n; j++; if(j%8==0) cout< } } cout< cout<<"s="< return0; } 22、验证哥德巴赫猜想: 一个大于2的偶数总可以分解成两个素数的和。 #include #include usingnamespacestd; intf(intx); 23、intf(inta)一元钱全兑换成硬币(1分2分5分),有多少种兑换方法 #include #include usingnamespacestd; voidmain() { inta,b,c,s=0,sum; for(a=1;a<=100;a++) for(b=1;b<=50;b++) for(c=1;c<=20;c++) { sum=a+2*b+5*c; if(sum==100) { cout<<"一分"< cout<<"两分"< cout<<"五分"< s++; } } cout<<"共有"< "< }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+ 编程 基础 训练 答案
![提示](https://static.bdocx.com/images/bang_tan.gif)