1、50道C+编程练习题及解答50道C/C+编程练习题1、输入3个数,求最大值 double a,b,c; cinabc; int main() if(a+bc & b+ca & c+ab) int a,b,c,m; ?潣瑵? cinabc; 可以构成三角形; else m=a; ?潣瑵? if(bm) m=b; 不可以构成三角形; if(cm) m=c; 5、输入20个数,求其最大、最小和平均值 coutm; int main() 、编程序,求方程ax2+bx+c=0 的根2int i; #include int a,max,min,s; #include cina; using namespa
2、ce std; max=min=a; s=a; int main() for(i=1;ia; double a,b,c,d,x1,x2; if(amax) max=a; cinabc; if(amin) min=a; if(a=0) s=s+a; if(b=0) couterrorn; ?汥敳挠畯?硜尽?挭?攼摮? coutmax,min,s/20.0endl; else d=b*b-4*a*c; 6 if(fabs(d)1e-6) x1=(-b+sqrt(d)/(2*a); int a,m,s=0; x2=(-b-sqrt(d)/(2*a); cinn; ?潣瑵?硜?砼?尼砬?砼?攼摮? c
3、ina; m=a; s=a; ?汥敳挠畯?尼方程无实根n; for(int i=1; ia; s +=a; 3、输入一个成绩,打印相应的等级 if(am) m=a; int main() int a; ?潣瑵? cin a; 平均值:?潤扵敬猩?尼,最大值:m=90) cout=80) cout=70) cout=60) coutD; #include else coutE; #include #include 类型的值,判断这double个34、输入个值是否3using namespace std; 可以表示一个三角形的三条边。 int main() int main() int n, co
4、unt, sum, max; double ave; int i; double t,e; count = 0; i=1; t=1; e=1; cin n; while(t=1e-7) sum = 0; max = n; t=t/i; while( n != -999 ) e=e+t; sum = sum + n; i=i+1; if( n max ) max = n; count+; cout n; 12、求PI if( count != 0 ) 值,PI/4 = 1 - 1/3 + 1/5 - 1/7 + . int main() ave=static_cast(sum) / count;
5、 int i,k; coutsetiosflags(ios:fixed) double pi,t; setprecision(2); i=1; t=1; pi=0; k=1; ave1e-8) maxendl; pi=pi+t; i=i+2; k=-k; s=1*1 + 2*2 + 3*3 +.+ 100*100 8、求和 t=double(k)/i; int main() int i,t; cout4*pi; double s=0; for(i=1; i=100; i+) 13、求 t=i*i; PI值,PI/2 = 1 + 1/3 + 1/3*2/5 + 1/3*2/5*3/7 + . s
6、=s+t; #include #include 63201int main() + 22 +.+ 2 s=29、印度国王的奖励,求和 + int main() int i,j; double t=1,s=0; double pi,t; for(int i=0; i1e-18) t=2*t; pi=pi+t; i=i+1; couts/1.4e8endl; j=j+2; t=t*i/j; 10、求和 s=1! + 2! + 3! +.+ 10! int main() coutsetprecision(17)2*pi; int i; long t,s; 14 t=1; s=0; 、输入20个数,统
7、计其中正数、负数和零的个数。 for(i=1; i=10; i+) int main() t=t*i; s=s+t; int a,n=0,m=0,s=0; for(int i=1; i a; 、求11 e=1 + 1/1! + 1/2! + 1/3! + . if(a0) n+; int main() . . . . else if(a0) m+; 个数,等于他的因子之和)。用这个函数确定和打印1到 else s+; 1000之间的所有完全数。 int perfect(int n) int i,s=1; coutn m s; for(i=2;ia; int n; while(a!=0) for
8、(n=2;n=1000;n+) if(a%2 = 0) n += a; if perfect(n) else m += a; coutn a; 19、写一函数,求斐波那契数列的第 coutn m; n项。 int fib(int n) 、的16、写一函数,计算xy次方(假设xy都为int i,f1,f2,f; 。正整数) if(n=1|n=2) return 1; int pow(int x, int y) f1=1; f2=1; int s=1; for(i=3; i=n; i+) for(int i=1; i=y; i+) f=f1+f2; s = s * x; f1=f2; return
9、 s; f2=f; 、求水仙花数(一个三位数,其各位数字立方和17 return f; 等于该数字本身) int main() 20 int i,a,b,c; 、写一个函数,取一个整数值并返回将此整数的各数字反序的数值 for(i=100;i=999;i+) int reverse(int n) a=i/100; int s=0; b=i/10_x0010_; while(n) c=i_x0010_; s = s * 10 + n % 10; if(i=a*a*a+b*b*b+c*c*c) n /= 10; coutiendl; ; return s; int main() 21 int i,
10、a,b,c; 、写一个函数,将一个整数的各位数字的反序打印 for(a=1;a=9;a+) void show(int n) for(b=0;b=9;b+) while(n) for(c=0;c=9;c+) cout n % 10 ; i=a*100+b*10+c; n /= 10; if(i=a*a*a+b*b*b+c*c*c) ; coutiendl; void show(int n) if(n 10) cout n; 编写一个函数,、18(一确定一个整数是否为完全数 . . . . else #include using namespace std; cout n % 10 ; bool
11、 isprime(int n) show(n / 10); float k=sqrt(float(n); for(int i=2; i=k; i+) if(n%i=0) return false; 22、写一个函数,将一个整数的各位数字的按顺序 return true; 打印出来 void show(int n) int main() for(int n=2; n=1000; n+) int k = 1, m = n; if(isprime(n) coutsetw(5) 10) k *= 10; m /= 10; 25、用筛法求 while(n) 11000之内的素数 #include cout n / k ; #include n %= k; #include k /= 10; #include ; using namespace std; int main() void show(int n) int a10, i=0; int i,k,a1001; while(n) for(i=2; i=1000; i+) ai=1;
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1