C++编程基础题训练答案Word格式.docx
《C++编程基础题训练答案Word格式.docx》由会员分享,可在线阅读,更多相关《C++编程基础题训练答案Word格式.docx(9页珍藏版)》请在冰豆网上搜索。
if(c>
max)
max=c;
最大值:
max<
return0;
}
2、韩信点兵:
有一个数,用3除余2;
用5除余3;
用7除余2;
求满足条件的最小数。
{
inta;
for(a=1;
a<
1000;
a++)
if(a%3==2&
&
a%5==3&
a%7==2)
{cout<
a;
break;
3、求1+2+3+…+100
{ints=0;
inta=1;
do
{
s=s+a;
a=a++;
}
while(a<
101);
s<
4、求1-2+3-4+…-100
inta,s=0,s1=0,s2=0;
101;
a++,a++)
s1+=a;
for(a=-2;
-101;
a=a-2)
s2=s2+a;
}
s=s1+s2;
cout<
5、求1+1/2+1/3+…+1/100
voidmain()
floata,m;
floats=0;
{m=1/a;
s=s+m;
s="
6、求输入n,求n!
(需判断n的合法性)递归调用
intfac(intn)
if(n==0)
return1;
else
returnfac(n-1)*n;
while
(1)
{intx,y,n;
输入一个整数:
\n"
;
cin>
x;
fac(x);
fac(x)<
7、求1!
+2!
+3!
+…+10!
ints=0;
intt=1;
intn;
for(n=1;
n<
11;
n++)
t=t*n;
s=s+t;
1!
+2!
+3!
+...+10!
="
8、求1+1/2!
+1/3!
+…1/n!
,直到1/n!
1E-5为止
第一种方法:
doubles=0;
doublet=1;
doublen=1;
do{
s=s+1/t;
n++;
while(t<
1e5);
1/1!
+1/2!
+...+1/n!
第二种方法:
doublesum=;
.+"
!
return0;
18、求1!
-3!
+5!
-7!
+……前n项的和
intm,n=1,x=1,y=-1,sum=0;
doublea,b=1,s=0;
m;
for(inti=1;
i<
=m;
i++)
n=2*i-1;
a=1;
for(intj=1;
j<
=n;
j++)
x*=y;
a*=j;
b=a*(-x);
sum+=b;
}cout<
sum<
"
19、求1*2+2*3+3*4+……前n项的和
intm,i,n,s=0;
n;
for(i=1;
m=i*(i+1);
s+=m;
20、从键盘输入一个整数,判断它是否为素数
intn,i,m;
for(i=2;
m=n%i;
if(m==0)
break;
if(m==0)
cout<
不是素数。
是素数。
21、求3到1000之间的所有素数的和。
cmath>
intn,i,k,s=0,j=0;
for(n=3;
=1000;
k=sqrt(n);
=k;
if(n%i==0)
if(i>
k)
{
cout<
s+=n;
j++;
if(j%8==0)
cout<
}
22、验证哥德巴赫猜想:
一个大于2的偶数总可以分解成两个素数的和。
intf(intx);
23、intf(inta)一元钱全兑换成硬币(1分2分5分),有多少种兑换方法
inta,b,c,s=0,sum;
for(a=1;
=100;
for(b=1;
b<
=50;
b++)
for(c=1;
c<
=20;
c++)
sum=a+2*b+5*c;
if(sum==100)
一分"
'
\t'
两分"
五分"
s++;
共有"
种方法。