C++循环结构23道习题含答案.docx

上传人:b****1 文档编号:14077371 上传时间:2023-06-20 格式:DOCX 页数:21 大小:19.06KB
下载 相关 举报
C++循环结构23道习题含答案.docx_第1页
第1页 / 共21页
C++循环结构23道习题含答案.docx_第2页
第2页 / 共21页
C++循环结构23道习题含答案.docx_第3页
第3页 / 共21页
C++循环结构23道习题含答案.docx_第4页
第4页 / 共21页
C++循环结构23道习题含答案.docx_第5页
第5页 / 共21页
C++循环结构23道习题含答案.docx_第6页
第6页 / 共21页
C++循环结构23道习题含答案.docx_第7页
第7页 / 共21页
C++循环结构23道习题含答案.docx_第8页
第8页 / 共21页
C++循环结构23道习题含答案.docx_第9页
第9页 / 共21页
C++循环结构23道习题含答案.docx_第10页
第10页 / 共21页
C++循环结构23道习题含答案.docx_第11页
第11页 / 共21页
C++循环结构23道习题含答案.docx_第12页
第12页 / 共21页
C++循环结构23道习题含答案.docx_第13页
第13页 / 共21页
C++循环结构23道习题含答案.docx_第14页
第14页 / 共21页
C++循环结构23道习题含答案.docx_第15页
第15页 / 共21页
C++循环结构23道习题含答案.docx_第16页
第16页 / 共21页
C++循环结构23道习题含答案.docx_第17页
第17页 / 共21页
C++循环结构23道习题含答案.docx_第18页
第18页 / 共21页
C++循环结构23道习题含答案.docx_第19页
第19页 / 共21页
C++循环结构23道习题含答案.docx_第20页
第20页 / 共21页
亲,该文档总共21页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

C++循环结构23道习题含答案.docx

《C++循环结构23道习题含答案.docx》由会员分享,可在线阅读,更多相关《C++循环结构23道习题含答案.docx(21页珍藏版)》请在冰点文库上搜索。

C++循环结构23道习题含答案.docx

C++循环结构23道习题含答案

题目、描述、输入、输出、输入样例、输出样例、测试输入、测试输出

循环01:

最大数

写一个程序,可以输入一批正数,输入0时结束循环,并且输出最大的正数。

输入392856318270

输出63

测试:

输入153269632875901560

输出963

#include

usingnamespacestd;

intmain()

{

inti,max=0;

cin>>i;

while(i!

=0)

{

if(i>max)

max=i;

cin>>i;

}

cout<

return0;

}

循环02:

素数

输入正数n,判断n是否为素数。

若为素数则输出1,否则输出0。

(提示:

素数是指只可以被1和其本身整除的正数(1除外))

输入10输出0

输入7输出1

测试:

输入9输出0

#include

usingnamespacestd;

intmain()

{

intn,i,d;

cin>>n;

for(i=2;i

{d=n%i;

if(n%i==0)

break;

}

if(n==i)

cout<<"1"<

else

cout<<"0"<

return0;

}

循环03:

数列求和

输入一个正整数n,计算前n项之和:

1+1/4+1/7+1/10..+1/(3*n-2)。

输入5输出1.56978

输入4输出1.49286

#include

usingnamespacestd;

intmain()

{

inti,n;

doubles=0;

cin>>n;

for(i=1;i<=n;i++)

s+=1.0/(3*i-2);

cout<

return0;

}

循环04:

西瓜卖几天

n个西瓜,第一天卖一半多两个,以后每天卖剩下的一半多两个,问几天以后能卖完?

说明:

当西瓜个数为奇数时,卖一半为一半的整数,如当西瓜个数为5时,卖一半为卖2个。

输入:

西瓜个数,输出:

天数

输入10输出2

输入50输出4

测试

输入120输出5

#include

usingnamespacestd;

intmain()

{

intn,d=0;

cin>>n;

while(n>0)

{

d++;

n=n/2-2;

}

cout<

return0;

}

循环05:

成绩判定

输入一个正整数repeat(0

输入一个学生的数学成绩,如果它低于60,输出“Fail”,否则,输出“Pass”。

输入53568499488

输出

Fail

Pass

Fail

Pass

Pass

测试

输入8908060504030738859

输出

Pass

Pass

Pass

Fail

Fail

Fail

Pass

Pass

Fail

#include

usingnamespacestd;

intmain()

{

intrepeat,n,i;

cin>>repeat;

for(i=0;i

{

cin>>n;

if(n<60)

cout<<"Fail"<

else

cout<<"Pass"<

}

return0;

}

循环06:

数列求和

输入1个正整数n(n<=100),计算并输出1+1/2+1/3+……+1/n。

输入5输出2.28333

输入4输出2.08333

#include

usingnamespacestd;

intmain()

{

intn,i=1;

doubles=0;

cin>>n;

while(i<=n)

{

s+=1.0/i;

i++;}

cout<

return0;

}

循环07:

水仙花数

打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该

数本身。

例如:

153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。

输入无输出153370371407

#include

usingnamespacestd;

intmain()

{

intn,i,j,k;

for(n=100;n<1000;n++)

{

i=n/100;

j=n/10%10;

k=n%10;

if(i*i*i+j*j*j+k*k*k==n)

cout<

}

return0;

}

循环08:

数位之和

输入一个正整数,输出其各个位置上的数字之和。

输入1234输出10

输入12534输出15

测试

输入4325输出14

#include

usingnamespacestd;

intmain()

{

intn,s=0;

cin>>n;

while(n)

{

s+=n%10;

n=n/10;

}

cout<

return0;

}

循环09:

奇数和

读入一批正整数(以零为结束标志),求其中的奇数和。

输入3233503465670输出165

输入13151730350输出80

测试

输入3133503465670输出196

#include

usingnamespacestd;

intmain()

{

intn,s=0;

cin>>n;

while(n>0)

{if(n%2!

=0)

s=s+n;

cin>>n;

}

cout<

return0;

}

循环10:

求和

从键盘输入若干正数,对其求和并输出,遇到负数则终止输入。

输入323350346567-1输出281

输入1315173035-2输出110

测试

输入313350346567-5输出280

#include

usingnamespacestd;

intmain()

{

intn,a=0;

cin>>n;

while(n>=0)

{a=n+a;

cin>>n;}

cout<

return0;

}

循环11:

特殊数值

已知四位数3025有一个特殊性质:

它的前两位数字30和后两位数字25的和是55,而55的平方刚好等于该数(55*55=3025).试编一程序打印所有具有这种性质的四位数.

输入无输出202530259801

#include

usingnamespacestd;

intmain()

{

inti,a,b;

for(i=1000;i<=9999;i++)

{

a=i/100;

b=i%100;

if((a+b)*(a+b)==i)

cout<

}

return0;

}

循环12:

征税

税务部门征收所的税,规定如下:

1)收入在1000元以内(含1000),免征;

2)收入在1000~3000元以内(含3000),纳税额为收入的3%;

3)收入超过3000~5000元以内(含5000),纳税为收入的4%;

4)当收入超过5000元时,纳税为收入的6%。

请根据以上关系,输入收入m,输出应缴纳的税收tax。

输入:

第一个整数n表示后续有n个收入

输出:

每个收入对应的纳税额

输入4900200040006000

输出060160360

#include

usingnamespacestd;

intmain()

{

doublem,tax;;inti,n;

cin>>n;

for(i=1;i<=n;i++)

{

cin>>m;

if(m<=1000)

tax=0;

elseif(m<=3000)

tax=m*0.03;

elseif(m<=5000)

tax=m*0.04;

else

tax=m*0.06;

cout<

}

return0;

}

循环13:

因数个数

给定一个正整数n,求它的因数个数。

如6的因数为1、2、3、6,则因数个数为4。

输入12输出6

测试

输入30输出8

#include

usingnamespacestd;

intmain()

{

intn,i,count=0;

cin>>n;

for(i=1;i<=n;i++)

{

if(n%i==0)

count++;

}

cout<

return0;

}

循环14:

最大公约数

键盘输入两个正整数m,n,求出他们的最大公约数。

输入2015输出5

测试

输入3280输出16

#include

usingnamespacestd;

intmain()

{

intm,n,i;

cin>>m>>n;

for(i=m;i>=1;i--)

{

if(m%i==0&&n%i==0)

break;

}

cout<

return0;

}

循环15:

斐波那契数列

判断第n个斐波那契数列能否被3整除给定斐波那契数列为:

F(0)=1,F

(1)=1,F(n)=F(n-1)+F(n-2)(n>=2),编写一个程序,输入n(>=0),如果F(n)能被3整除则输出一个“yes”,否则输出一个“no”。

输入8输出yes

输入6输出no

测试

输入12输出yes

#include

usingnamespacestd;

intmain()

{

intn,F0=1,F1=1,F,i;

cin>>n;

for(i=2;i<=n;i++)

{

F=F0+F1;

F0=F1;

F1=F;}

if(F%3==0)

cout<<"yes"<

else

cout<<"no"<

return0;

}

循环16:

计算奇偶数

求N(<=100)个数中奇数的平方和与偶数的立方和。

注意:

输入格式为,第一个数为N,后面接着N个数。

输出的平方和与立方和以空格隔开

输入3589输出106512

测试

输入558910输出1061512

#include

usingnamespacestd;

intmain()

{

inti,N,n,a=0,b=0;

cin>>N;

for(i=1;i<=N;i++)

{

cin>>n;

if(n%2==0)

a+=n*n*n;

else

b+=n*n;

}

cout<

return0;

}

循环17:

数位计算

对于输入的一个数字,请计算它的各个位上的数字为偶数的和。

例如:

1234,结果为6=2+4。

输入4321输出6

输入51289输出10

测试

输入54893输出12

#include

usingnamespacestd;

intmain()

{

intn,x,s=0;

cin>>n;

while(n)

{

x=n%10;

if(x%2==0)

s+=x;

n=n/10;

}

cout<

return0;

}

循环18:

数根

对于一个正整数n,我们将它的各个位相加得到一个新的数字,如果这个数字是一位数,我们称之为n的数根,否则重复处理直到它成为一个一位数,这个一位数也算是n的数根。

例如:

考虑24,2+4=6,6就是24的数根。

考虑39,3+9=12,1+2=3,3就是39的数根。

请编写程序,计算n的数根。

输入189输出9

测试

输入8943输出6

#include

usingnamespacestd;

intmain()

{

intn,s=0,t;

cin>>n;

t=n;

while(t>=10)

{

s=0;

while(t)

{s+=t%10;

t=t/10;

}

t=s;}

cout<

return0;

}

循环19:

平均成绩

假设有一个班级,n名同学选修了C++语言程序设计,要求统计该门课的平均成绩。

输入格式:

第一个数为学生人数n,后面接着n个成绩,输出平均成绩。

输入:

58090889670输出84.8

#include

usingnamespacestd;

intmain()

{

intn,i,a,s=0;

cin>>n;

for(i=1;i<=n;i++)

{

cin>>a;

s+=a;

}

cout<

return0;

}

循环20:

幂函数

输入一个正整数repeat(0

读入1个正实数x和1个正整数n(n<=50),计算并输出x的n次幂。

输入3253453输出3281125

#include

usingnamespacestd;

intmain()

{

intrepeat,i,x,n,j,k;

cin>>repeat;

for(i=1;i<=repeat;i++)

{

cin>>x>>n;k=1;

for(j=1;j<=n;j++)

k=k*x;

cout<

return0;

}

/**************************

循环21:

计数

输入一组整数,以0结束,统计数据个数(不含0)及最大值。

输入1234564350

输出7456

#include

usingnamespacestd;

intmain()

{

inta,max=0,i=0;

cin>>a;

while(a!

=0)

{

i++;

if(a>max)

max=a;

cin>>a;}

cout<

return0;

}

循环22:

素数

输入一个正整数n,输出[2,n]之间所有的素数及素数个数。

输入10

输出

23574

#include

usingnamespacestd;

intmain()

{

intn,i,j,s;

s=0;

cin>>n;

for(i=2;i<=n;i++)

{for(j=2;j<=i;j++)

if(i%j==0)

break;

if(j==i)

{s++;

cout<

}

}

cout<

return0;

}

循环23:

完数

输入一个正整数n,输出[1,n]之间的所有完数。

完数的定义:

除自身外的因子之和等于它本身。

例如:

6=1+2+3,因此6是完数。

输入1000

输出628496

#include

usingnamespacestd;

intmain()

{

intn,i,j,s;

cin>>n;

for(i=1;i<=n;i++)

{

s=0;

for(j=1;j

{if(i%j==0)

s+=j;}

if(s==i)

cout<

}

return0;

}

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2