50道C/C++编程练习题
1、输入3个数,求最大值 int main() { int a,b,c,m; cin>>a>>b>>c; m=a;
if(b>m) m=b; if(c>m) m=c; cout< double a,b,c,d,x1,x2; cin>>a>>b>>c; if(a==0) if(b==0) cout<<\"error\\n\"; else cout<< \"x=\"<<-c/b< cout<<\"x1=x2=\"<<-b/(2*a)< { x1=(-b+sqrt(d))/(2*a); x2=(-b-sqrt(d))/(2*a); cout<<\"x1=\"< 3、输入一个成绩,打印相应的等级 int main() { int a; cin >> a; if(a>=90) cout<<\"A\"; else if(a>=80) cout<<\"B\"; else if(a>=70) cout<<\"C\"; else if(a>=60) cout<<\"D\"; else cout<<\"E\"; } 4、输入3个double类型的值,判断这3个值是否可以表示一个三角形的三条边。 int main() { double a,b,c; cin>>a>>b>>c; if(a+b>c && b+c>a && c+a>b) cout<<\"可以构成三角形\"; else cout<<\"不可以构成三角形\"; } 5、输入20个数,求其最大、最小和平均值 int main() { int i; int a,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 int a,m,s=0; cin>>n; cin>>a; m=a; s=a; for(int i=1; i if(a>m) m=a; } cout<<\"平均值:\"<<(double)s/n<<\",最大值:页脚内容1 第一章 雷尼绍测头及接收器的安装、调试说明 \"< #include { 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 != 0 ) { ave=static_cast cout< 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=2*t; } cout< for(i=1; i<=10; i++) { t=t*i; s=s+t; } } 11、求 e=1 + 1/1! + 1/2! + 1/3! + ... int main() { int i; double t,e; i=1; t=1; e=1; while(t>=1e-7) { t=t/i; e=e+t; i=i+1; } cout< double pi,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 int i,j; double pi,t; i=0; j=1; t=1; pi=0; while(t>1e-18) { pi=pi+t; 页脚内容2 第一章 雷尼绍测头及接收器的安装、调试说明 i=i+1; j=j+2; t=t*i/j; } cout< int a,n=0,m=0,s=0; for(int i=1; i<=20; i++) { cin >> a; if(a>0) n++; else if(a<0) m++; else s++; } cout< { int a,n=0,m=0; cin>>a; while(a!=0) { if(a%2 == 0) n += a;; else m += a; cin >> a; } cout< int pow(int x, 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) cout<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*b+c*c*c) cout<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) cout< int i,f1,f2,f; if(n==1||n==2) return 1; f1=1; f2=1; for(i=3; i<=n; i++) { f=f1+f2; f1=f2; f2=f; } return f; 页脚内容3 第一章 雷尼绍测头及接收器的安装、调试说明 } 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 << \" \"; show(n / 10); } } 22、写一个函数,将一个整数的各位数字的按顺序打印出来 void show(int n) { int k = 1, m = n; while(m > 10) { k *= 10; m /= 10; } while(n) { cout << n / k << \" \"; n %= k; k /= 10; }; } void show(int n) { int a[10], i=0; while(n) { a[i] = n % 10; n /= 10; i++; }10、求和 s=1! + 2! + 3! +...+ 10! int main() { int i; long t,s; t=1; s=0;