C++循环控制结构练习题DOCWord格式文档下载.docx
- 文档编号:18532124
- 上传时间:2022-12-19
- 格式:DOCX
- 页数:32
- 大小:32.32KB
C++循环控制结构练习题DOCWord格式文档下载.docx
《C++循环控制结构练习题DOCWord格式文档下载.docx》由会员分享,可在线阅读,更多相关《C++循环控制结构练习题DOCWord格式文档下载.docx(32页珍藏版)》请在冰豆网上搜索。
voidf(intn){
intk=sqrt(n),i;
for(i=2;
i<
=k;
i++)
if(n%i==0)break;
if(i>
=k+1)cout<
n<
是素数"
elsecout<
不是素数"
f(n);
法2;
boolf(intn){
=k+1)return1;
elsereturn0;
if(f(n))cout<
boolf2(intn)
{intk=sqrt(n),i;
if(n%i==0)return0;
1
}intmain()
{intn;
while
(1)
{cin>
if(n==0)break;
if(f2(n))cout<
是素数!
!
system("
return0
3.编写程序,输入一个整数,求该整数的各位数字和。
intt=0;
i=i/10)
t=i%10+t;
n的各位数字和为:
f(n)<
法二:
{
if(n<
10)returnn;
elsereturn(n%10+f(n/10));
}
intf3(intn)
{n=abs(n);
if(n<
elsereturn((n%10)+f3(n/10));
cout<
f3(n);
3.编写程序,输入一个整数,求该整数的各位数字的乘积。
法一:
elsereturn((n%10)*f(n/10));
n=abs(n);
return0;
法二:
t=t*(i%10);
intf4(intn)
elsereturn((n%10)*f3(n/10));
f4(n);
4.编写程序,输入一个整数,求该整数的各位数字的平方和。
t=t+(i%10)*(i%10);
}法二:
10)returnn*n;
elsereturn(n%10)*(n%10)+f(n/10);
if(n>
10)return(n%10)*(n%10)+f4(n/10);
f4(n)<
5.编写程序,输入一个整数,求该整数的各位上的数字是否包含数字5,若有则输出是第几位有含数字5.
voidf(intn)
intj=0;
j++;
if(i%10==5)cout<
j<
包含5的位置i为:
f(n);
voidf5(intn,intm)
{for(inti=n,j=0;
i=i/10,j++)
if(i%10==m){cout<
第"
j+1<
位"
{intn,m;
n>
m;
f5(n,m);
6.编写程序输出一个平行四边行。
注:
边长为10个*号
voidu()
inti=0;
for(inti=1;
=10;
{
cout<
setw(i);
for(intj=1;
j++)
cout<
'
*'
}
voidf6()
{for(intj=0;
10;
{cout<
setw(20+j);
for(inti=0;
}}
f6();
8.编程计算:
的前20项的和。
doublef(doublen)
if(n>
0){
if(n==1)return1;
elsereturnn/(2*n-1)+f(n-1);
doublef7(doublen)
{inti;
if(n==1)return1;
elsereturn(n/(2*n-1))+f7(n-1);
{doublen,m;
cin>
f7(n);
9.编写一程序,输入一个正整数,统计该数中含数字5的个数。
if(i%10==5)j++;
}cout<
包含5的个数为:
10.编写程序,输出所有含数字5且为77倍数的四位数。
voidJ(){
for(inti=1000;
=9999;
if(i%77==0){
intm=i;
for(m;
m>
m=m/10)
if(m%10==5){cout<
break;
}
}intmain()
{J();
System(“pause”);
11.编写一程序,输入一个正整数n,求大于等于n的最小素数。
intx,b,i,m,k;
请输入一个整数:
x;
b=sqrt(x);
=b;
if(x%i==0)break;
=b+1)cout<
x<
else
for(m=x;
m++){
k=sqrt(m);
for(i=2;
if(m%i==0)break;
if(i>
=k+1)
{cout<
m<
}system("
intn,k,m,i,j;
for(i=n;
i++){
for(j=2;
j*j<
i;
if(i%j==0)break;
if(j*j>
=i){
break;
}
12.从键盘输入一个小于15的正整数,计算其阶乘。
13.编程计算1!
+2!
+3!
+.....+n!
。
n从键盘输入。
intsum2(intn)
{intsum=0,t=1;
for(intj=1;
=n;
{t=1;
for(inti=1;
=j;
t=t*i;
sum=sum+t;
returnsum;
while
(1){
sum="
sum2(n)<
14.从键盘上输入一个正整数m,找出1000至10000之间所有各位数字之和等于m的数。
如输入32,则有9869满足要求。
因为9869各位上数字之和等于32。
voidf(intm)
inti;
for(i=1000;
10000;
intsum=0;
for(intj=i;
j>
j=j/10){sum=sum+j%10;
if(sum==m){cout<
intn,m;
15.已知xxz+yzz=532,求所有可能的x,y,z的值
for(intx=0;
=9;
x++){
for(inty=0;
y<
y++){
for(intz=0;
z<
z++){
intk=x*10+x*100+z+y*100+z*10+z;
if(k==532)cout<
return0;
16.编程从键盘中随机输入若干整数,统计其中正整数、0、负整数数的个数。
当输入整数100000时结束输入。
voidmain()
intn=0,m=0,k=0,c=0;
while(n!
=100000){
cout<
cin>
0)k++;
elseif(n==0)m++;
elseif(n<
0)c++;
正整数的个数是:
k<
负整数的个数是:
0的个数是:
17.编写一程序,输入一个正整数n,求小于等于n的最大素数。
18.求100~999中的。
所谓水仙花数是指一个三位数,它的每位数字的立方之和等于该数。
例如,因为153=13+53+33,所以153为水仙花数。
for(i=100;
=999;
intj,sum=0;
j=i;
while(j)
intk=j%10;
sum=sum+k*k*k;
j=j/10;
}if(sum==i)cout<
sum<
19.求1000之内的所有完数。
所谓完数是指一个数恰好等于它的所有因子之和。
例如,6=1+2+3,所以6为完数。
20.编一程序显示如下图案:
*
***
*****
*******
*********
21.编一程序显示如下图案:
A
ABC
ABCDE
for(inti=1;
setw(20-i);
for(intj=0;
2*i-1;
chart='
A'
+j;
t;
f(3);
21.根据π/4=1-1/3+1/5-1/7+…求π的近似值,直到最后一项的值小于0.000001为止。
22.猴子吃桃问题。
猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。
第二天早上又将剩下的桃子吃掉一半,又多吃了一个。
以后每天早上都吃了前一天剩下的一半零一个。
到第10天早上想再吃时,发现只剩一个桃子了,求猴子第一天究竟摘了多少个桃子?
23.编程序模拟剪刀,石头和纸游戏。
游戏规则为:
剪刀剪纸,石头砸剪刀,纸包石头.玩游戏者从键盘上输入s(表示剪刀)或R(表示石头)或P(表示纸),要求两个游戏者交替输入,计算机给出输赢的信息。
24.编写程序输出菲波那切数列的前20项。
即前两项为1,以后每一项为前两项之和。
25.打印九九乘法表。
26.若一头小母牛,从出生起第四个年头开始每年生一头母牛,按此规律,第n年时有多少头母牛?
27.编写程序,输入一个整数,求该整数是几位数?
并输出最高位数字。
intx=0,j=0;
i=i/10){
if(x<
i%10)x=i%10;
returnx;
28.从键盘上输入一个正整数n,求出5位数中各位数字之和等于n的所有素数,每行按6个素数输出。
(错误)
voidf(intm,intn,intk)
intl=0;
for(inti=m;
ints=0;
j=j/10)
s=s+j%10;
if(s==k){
intt,z=sqrt(i);
for(t=2;
t<
t++)
if(i%t==0)break;
if(t>
=k+1){
l++;
if(l%6==0)cout<
f(10000,99999,43);
(正确)
voidfoundPrime(intn)
intk=0;
for(inti=10000;
100000;
intm=i;
while(m>
0)
s=s+m%10;
m=m/10;
if(s==n)
intz=sqrt(i);
intj;
for(j=2;
=z;
if(i%j==0)break;
if(j>
=z+1)
{
cout<
k++;
if(k%6==0)cout<
}
foundPrime(43);
29.编程求下式的值:
n1+n2+n3+n4+…+n10,其中n=1,2,3。
编写函数时,设置参数n的默认值为2。
intf(intn=2)
inti,t=1,sum=0,k=0;
for(i=1;
t=t*n;
sum=sum+t;
returnsum;
f()<
f
(1)<
f
(2)<
f(3)<
30.给定求组合数公式为:
Cnm=m!
/n!
(m-n)!
编一程序,输入m和n的值
31.求s=1+(1+2)+(1+2+3)+…….+(1+2+3+……+n)的值。
intsum,t=0;
for(intj=1;
sum=0;
for(inti=j;
sum=sum+i;
t=t+sum;
returnt;
32.编程计算:
s=
33.求sum=a+aa+aaa+aaaa+…+aa…a(表示n个a)的值。
其中a是一位数字。
例如当n=6,a=2时sum=2+22+222+2222+22222+222222。
n和a的值由键盘输入。
using
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+ 循环 控制 结构 练习题 DOC