50道C编程练习题及解答.doc
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《50道C编程练习题及解答.doc》由会员分享,可在线阅读,更多相关《50道C编程练习题及解答.doc(14页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、50道C/C+编程练习题第 14 页1、输入3个数,求最大值int main() int a,b,c,m; cinabc; m=a; if(bm) m=b; if(cm) m=c; coutm; 2、编程序,求方程ax2+bx+c=0的根#include#includeusing namespace std;int main() double a,b,c,d,x1,x2; cinabc; if(a=0) if(b=0) couterrorn; else cout x=-c/bendl; else d=b*b-4*a*c; if(fabs(d)=1e-6) coutx1=x2=-b/(2*a)1
2、e-6) x1=(-b+sqrt(d)/(2*a); x2=(-b-sqrt(d)/(2*a); coutx1=x1,x2=x2endl; else cout a; if(a=90) cout=80) cout=70) cout=60) coutD; else coutabc; if(a+bc & b+ca & c+ab) cout可以构成三角形; else couta; max=min=a; s=a; for(i=1;ia; if(amax) max=a; if(amin) min=a; s=s+a; coutmax,min,s/20.0n; cina; m=a; s=a; for(int
3、i=1; ia; s +=a; if(am) m=a; cout平均值:(double)s/n,最大值:mendl; 7、输入若干个数,输入-999表示结束,求平均值及最大值。#include #include#include using namespace std; int main() int n, count, sum, max; double ave; count = 0; cin n; sum = 0; max = n; while( n != -999 ) sum = sum + n; if( n max ) max = n; count+; cin n; if( count !=
4、 0 ) ave=static_cast(sum) / count; coutsetiosflags(ios:fixed) setprecision(2); cout平均值为:ave 最大值为:maxendl; 8、求和 s=1*1 + 2*2 + 3*3 +.+ 100*100int main() int i,t; double s=0; for(i=1; i=100; i+) t=i*i; s=s+t; 9、印度国王的奖励,求和 s=20 + 21 + 22 +.+ 263 int main() double t=1,s=0; for(int i=0; i=63; i+) s=s+t; t
5、=2*t; couts/1.4e8endl; 10、求和 s=1! + 2! + 3! +.+ 10! int main() int i; long t,s; t=1; s=0; for(i=1; i=1e-7) t=t/i; e=e+t; i=i+1; cout1e-8) pi=pi+t; i=i+2; k=-k; t=double(k)/i; cout4*pi; 13、求PI值,PI/2 = 1 + 1/3 + 1/3*2/5 + 1/3*2/5*3/7 + . #include #include int main() int i,j; double pi,t; i=0; j=1; t=1
6、; pi=0; while(t1e-18) pi=pi+t; i=i+1; j=j+2; t=t*i/j; coutsetprecision(17)2*pi; 14、输入20个数,统计其中正数、负数和零的个数。int main()int a,n=0,m=0,s=0; for(int i=1; i a; if(a0) n+; else if(a0) m+; else s+; coutn m a; while(a!=0) if(a%2 = 0) n += a; else m += a; cin a; coutn m;16、写一函数,计算x的y次方(假设x、y都为正整数)。int pow(int x
7、, int y) int s=1; for(int i=1; i=y; i+) s = s * x; return s;17、求水仙花数(一个三位数,其各位数字立方和等于该数字本身)int main() int i,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) coutiendl;int main() int i,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*
8、b+c*c*c) coutiendl;18、编写一个函数,确定一个整数是否为完全数(一个数,等于他的因子之和)。用这个函数确定和打印1到1000之间的所有完全数。int perfect(int n) int i,s=1; for(i=2;i=n/2;i+) if(n%i=0) s=s+i; if(s=n) return 1; else return 0;int main() int n; for(n=2;n=1000;n+) if perfect(n) coutnendl;19、写一函数,求斐波那契数列的第n项。int fib(int n)int i,f1,f2,f; if(n=1|n=2)
9、return 1; f1=1; f2=1; for(i=3; i=n; i+) f=f1+f2; f1=f2; f2=f; return f;20、写一个函数,取一个整数值并返回将此整数的各数字反序的数值int reverse(int n) int s=0; while(n) s = s * 10 + n % 10; n /= 10; return s;21、写一个函数,将一个整数的各位数字的反序打印void show(int n) while(n) cout n % 10 ; n /= 10;void show(int n) if(n 10) cout n; else cout n % 10
10、 10) k *= 10; m /= 10; while(n) cout n / k =0; j-) coutaj ;void show(int n) if( n 10 ) cout n; else show( n / 10 ); cout n % 10;23、求一个整数的各位数之和的函数int sum(int n) int s = 0; while(n) s += n % 10; n /= 10; return s;24、写一函数,判断某个数是否素数,以及求11000之内的素数#include #include #include using namespace std; bool ispri
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 50 编程 练习题 解答
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内