道C编程练习题及解答.docx
- 文档编号:29656397
- 上传时间:2023-07-25
- 格式:DOCX
- 页数:26
- 大小:19.91KB
道C编程练习题及解答.docx
《道C编程练习题及解答.docx》由会员分享,可在线阅读,更多相关《道C编程练习题及解答.docx(26页珍藏版)》请在冰豆网上搜索。
道C编程练习题及解答
50道C/C++编程练习题
1、输入3个数,求最大值
intmain()
{inta,b,c,m;
cin>>a>>b>>c;
m=a;
if(b>m)m=b;
if(c>m)m=c;
cout< } 2、编程序,求方程ax2+bx+c=0的根 #include #include usingnamespacestd; intmain() { doublea,b,c,d,x1,x2; cin>>a>>b>>c; if(a==0) if(b==0)cout<<"error\n"; elsecout<<"x="<<-c/b< else {d=b*b-4*a*c; if(fabs(d)<=1e-6) cout<<"x1=x2="<<-b/(2*a)< elseif(d>1e-6) {x1=(-b+sqrt(d))/(2*a); x2=(-b-sqrt(d))/(2*a); cout<<"x1="< } elsecout<<"方程无实根\n"; } } 3、输入一个成绩,打印相应的等级 intmain() {inta; cin>>a; if(a>=90)cout<<"A"; elseif(a>=80)cout<<"B"; elseif(a>=70)cout<<"C"; elseif(a>=60)cout<<"D"; elsecout<<"E"; } 4、输入3个double类型的值,判断这3个值是否可以表示一个三角形的三条边。 intmain() { doublea,b,c; cin>>a>>b>>c; if(a+b>c&&b+c>a&&c+a>b) cout<<"可以构成三角形"; else cout<<"不可以构成三角形"; } 5、输入20个数,求其最大、最小和平均值 intmain() { inti; inta,max,min,s; cin>>a; max=min=a;s=a; for(i=1;i<20;i++) {cin>>a; if(a>max)max=a; if(a s=s+a; } cout< } 6、输入若干个数,设输入的第一个数为后面要输入的数的个数,求平均值及最大值。 intmain() { inta,m,s=0; cin>>n; cin>>a; m=a;s=a; for(inti=1;i {cin>>a; s+=a; if(a>m)m=a; } cout<<"平均值: "<<(double)s/n<<",最大值: "< } 7、输入若干个数,输入-999表示结束,求平均值及最大值。 #include #include #include usingnamespacestd; intmain() {intn,count,sum,max; doubleave; count=0; cin>>n; sum=0;max=n; while(n! =-999) {sum=sum+n; if(n>max)max=n; count++; cin>>n; } if(count! =0) {ave=static_cast cout< : fixed)< (2); cout<<"平均值为: "< "< } } 8、求和s=1*1+2*2+3*3+...+100*100 intmain() {inti,t; doubles=0; for(i=1;i<=100;i++) {t=i*i; s=s+t; } } 9、印度国王的奖励,求和s=20+21+22+...+263 intmain() {doublet=1,s=0; for(inti=0;i<=63;i++) {s=s+t; t=2*t; } cout< } 10、求和s=1! +2! +3! +...+10! intmain() {inti; longt,s; t=1;s=0; for(i=1;i<=10;i++) {t=t*i; s=s+t; } } 11、求e=1+1/1! +1/2! +1/3! +... intmain() {inti; doublet,e; i=1;t=1;e=1; while(t>=1e-7) {t=t/i; e=e+t; i=i+1; } cout< } 12、求PI值,PI/4=1-1/3+1/5-1/7+... intmain() {inti,k; doublepi,t; i=1;t=1;pi=0;k=1; while(fabs(t)>1e-8) {pi=pi+t; i=i+2; k=-k; t=double(k)/i; } cout<<4*pi; } 13、求PI值,PI/2=1+1/3+1/3*2/5+1/3*2/5*3/7+... #include #include intmain() { inti,j; doublepi,t; i=0;j=1;t=1;pi=0; while(t>1e-18) {pi=pi+t; i=i+1; j=j+2; t=t*i/j; } cout< } 14、输入20个数,统计其中正数、负数和零的个数。 intmain() { inta,n=0,m=0,s=0; for(inti=1;i<=20;i++) {cin>>a; if(a>0)n++; elseif(a<0)m++; elses++; } cout< } 15、输入若干个整数,计算其中的奇数之和与偶数之和,假设输入0表示结束。 intmain() {inta,n=0,m=0; cin>>a; while(a! =0) {if(a%2==0)n+=a;; elsem+=a; cin>>a; } cout< } 16、写一函数,计算x的y次方(假设x、y都为正整数)。 intpow(intx,inty) {ints=1; for(inti=1;i<=y;i++) s=s*x; returns; } 17、求水仙花数(一个三位数,其各位数字立方和等于该数字本身) intmain() {inti,a,b,c; for(i=100;i<=999;i++) {a=i/100; b=i/10%10; c=i%10; if(i==a*a*a+b*b*b+c*c*c) cout< } } intmain() {inti,a,b,c; for(a=1;a<=9;a++) for(b=0;b<=9;b++) for(c=0;c<=9;c++) {i=a*100+b*10+c; if(i==a*a*a+b*b*b+c*c*c) cout< } } 18、编写一个函数,确定一个整数是否为完全数(一个数,等于他的因子之和)。 用这个函数确定和打印1到1000之间的所有完全数。 intperfect(intn) {inti,s=1; for(i=2;i<=n/2;i++) if(n%i==0)s=s+i; if(s==n)return1; elsereturn0; } intmain() {intn; for(n=2;n<=1000;n++) ifperfect(n) cout< } 19、写一函数,求斐波那契数列的第n项。 intfib(intn) { inti,f1,f2,f; if(n==1||n==2)return1; f1=1;f2=1; for(i=3;i<=n;i++) {f=f1+f2; f1=f2; f2=f; } returnf; } 20、写一个函数,取一个整数值并返回将此整数的各数字反序的数值 intreverse(intn) {ints=0; while(n) {s=s*10+n%10; n/=10; }; returns; } 21、写一个函数,将一个整数的各位数字的反序打印 voidshow(intn) {while(n) {cout< n/=10; }; } voidshow(intn) {if(n<10)cout< else {cout< show(n/10); } } 22、写一个函数,将一个整数的各位数字的按顺序打印出来 voidshow(intn) { intk=1,m=n; while(m>10) {k*=10;m/=10;} while(n)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 编程 练习题 解答