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