您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 招聘面试 > C++循环结构 23道题(含答案)
循环结构题目、描述、输入、输出、输入样例、输出样例、测试输入、测试输出循环01:最大数写一个程序,可以输入一批正数,输入0时结束循环,并且输出最大的正数。输入392856318270输出63测试:输入153269632875901560输出963#includeiostreamusingnamespacestd;intmain(){inti,max=0;cini;while(i!=0){if(imax)max=i;cini;}coutmaxendl;return0;}循环02:素数输入正数n,判断n是否为素数。若为素数则输出1,否则输出0。(提示:素数是指只可以被1和其本身整除的正数(1除外))输入10输出0输入7输出1测试:输入9输出0#includeiostreamusingnamespacestd;intmain(){intn,i,d;cinn;for(i=2;in;i++){d=n%i;if(n%i==0)break;}循环结构if(n==i)cout1endl;elsecout0endl;return0;}循环03:数列求和输入一个正整数n,计算前n项之和:1+1/4+1/7+1/10..+1/(3*n-2)。输入5输出1.56978输入4输出1.49286#includeiostreamusingnamespacestd;intmain(){inti,n;doubles=0;cinn;for(i=1;i=n;i++)s+=1.0/(3*i-2);coutsendl;return0;}循环04:西瓜卖几天n个西瓜,第一天卖一半多两个,以后每天卖剩下的一半多两个,问几天以后能卖完?说明:当西瓜个数为奇数时,卖一半为一半的整数,如当西瓜个数为5时,卖一半为卖2个。输入:西瓜个数,输出:天数输入10输出2输入50输出4测试输入120输出5#includeiostreamusingnamespacestd;intmain(){intn,d=0;cinn;while(n0){d++;n=n/2-2;}循环结构coutdendl;return0;}循环05:成绩判定输入一个正整数repeat(0repeat10),做repeat次下列运算:输入一个学生的数学成绩,如果它低于60,输出“Fail”,否则,输出“Pass”。输入53568499488输出FailPassFailPassPass测试输入8908060504030738859输出PassPassPassFailFailFailPassPassFail#includeiostreamusingnamespacestd;intmain(){intrepeat,n,i;cinrepeat;for(i=0;irepeat;i++){cinn;if(n60)coutFailendl;elsecoutPassendl;}return0;}循环结构循环06:数列求和输入1个正整数n(n=100),计算并输出1+1/2+1/3+……+1/n。输入5输出2.28333输入4输出2.08333#includeiostreamusingnamespacestd;intmain(){intn,i=1;doubles=0;cinn;while(i=n){s+=1.0/i;i++;}coutsendl;return0;}循环07:水仙花数打印出所有的水仙花数,所谓水仙花数是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个水仙花数,因为153=1的三次方+5的三次方+3的三次方。输入无输出153370371407#includeiostreamusingnamespacestd;intmain(){intn,i,j,k;for(n=100;n1000;n++){i=n/100;j=n/10%10;k=n%10;if(i*i*i+j*j*j+k*k*k==n)coutn;}return0;}循环08:数位之和输入一个正整数,输出其各个位置上的数字之和。循环结构输入1234输出10输入12534输出15测试输入4325输出14#includeiostreamusingnamespacestd;intmain(){intn,s=0;cinn;while(n){s+=n%10;n=n/10;}coutsendl;return0;}循环09:奇数和读入一批正整数(以零为结束标志),求其中的奇数和。输入3233503465670输出165输入13151730350输出80测试输入3133503465670输出196#includeiostreamusingnamespacestd;intmain(){intn,s=0;cinn;while(n0){if(n%2!=0)s=s+n;cinn;}coutsendl;return0;}循环10:求和从键盘输入若干正数,对其求和并输出,遇到负数则终止输入。循环结构输入323350346567-1输出281输入1315173035-2输出110测试输入313350346567-5输出280#includeiostreamusingnamespacestd;intmain(){intn,a=0;cinn;while(n=0){a=n+a;cinn;}coutaendl;return0;}循环11:特殊数值已知四位数3025有一个特殊性质:它的前两位数字30和后两位数字25的和是55,而55的平方刚好等于该数(55*55=3025).试编一程序打印所有具有这种性质的四位数.输入无输出202530259801#includeiostreamusingnamespacestd;intmain(){inti,a,b;for(i=1000;i=9999;i++){a=i/100;b=i%100;if((a+b)*(a+b)==i)couti;}return0;}循环12:征税税务部门征收所的税,规定如下:1)收入在1000元以内(含1000),免征;2)收入在1000~3000元以内(含3000),纳税额为收入的3%;3)收入超过3000~5000元以内(含5000),纳税为收入的4%;4)当收入超过5000元时,纳税为收入的6%。请根据以上关系,输入收入m,输出应缴纳的税收tax。输入:第一个整数n表示后续有n个收入循环结构输出:每个收入对应的纳税额输入4900200040006000输出060160360#includeiostreamusingnamespacestd;intmain(){doublem,tax;;inti,n;cinn;for(i=1;i=n;i++){cinm;if(m=1000)tax=0;elseif(m=3000)tax=m*0.03;elseif(m=5000)tax=m*0.04;elsetax=m*0.06;couttax;}return0;}循环13:因数个数给定一个正整数n,求它的因数个数。如6的因数为1、2、3、6,则因数个数为4。输入12输出6测试输入30输出8#includeiostreamusingnamespacestd;intmain(){intn,i,count=0;cinn;for(i=1;i=n;i++){if(n%i==0)count++;}coutcountendl;return0;循环结构}循环14:最大公约数键盘输入两个正整数m,n,求出他们的最大公约数。输入2015输出5测试输入3280输出16#includeiostreamusingnamespacestd;intmain(){intm,n,i;cinmn;for(i=m;i=1;i--){if(m%i==0&&n%i==0)break;}coutiendl;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#includeiostreamusingnamespacestd;intmain(){intn,F0=1,F1=1,F,i;cinn;for(i=2;i=n;i++){F=F0+F1;F0=F1;F1=F;}if(F%3==0)循环结构coutyesendl;elsecoutnoendl;return0;}循环16:计算奇偶数求N(=100)个数中奇数的平方和与偶数的立方和。注意:输入格式为,第一个数为N,后面接着N个数。输出的平方和与立方和以空格隔开输入3589输出106512测试输入558910输出1061512#includeiostreamusingnamespacestd;intmain(){inti,N,n,a=0,b=0;cinN;for(i=1;i=N;i++){cinn;if(n%2==0)a+=n*n*n;elseb+=n*n;}coutbaendl;return0;}循环17:数位计算对于输入的一个数字,请计算它的各个位上的数字为偶数的和。例如:1234,结果为6=2+4。输入4321输出6输入51289输出10测试输入54893输出12#includeiostreamusingnamespacestd;intmain()循环结构{intn,x,s=0;cinn;while(n){x=n%10;if(x%2==0)s+=x;n=n/10;}coutsendl;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#includeiostreamusingnamespacestd;intmain(){intn,s=0,t;cinn;t=n;while(t=10){s=0;while(t){s+=t%10;t=t/10;}t=s;}coutsendl;return0;}循环19:平均成绩假设有一个班级,n名同学选修了C++语言程序设计,要求统计该门课的平均成绩。输入格循环结构式:第一个数为学生人数n,后面接着n个成绩,输出平均成绩。输入:58090889670输出84.8#includeiostreamusingnamespacestd;intmain(){intn,i,a,s=0;cinn;for(i=1;i=n;i++){cina;s+=a;}coutdouble(s)/nendl;return0;}循环20:幂函数输入一个正整数repeat(0repeat10),做repeat次下列运算:读入1个正实数x和1个正整数n(n=50),计算并输出x的n次幂。输入3253453输出3281125#includeiostreamusingnamespacestd;intmain(){intrepeat,i,x,n,j,k;cinrepeat;for(i=1;i=repeat;i++){cinxn;k=1;for(j=1;j=n;j++)k=k*x;coutk;}return0;}/****************
本文标题:C++循环结构 23道题(含答案)
链接地址:https://www.777doc.com/doc-2901671 .html