您好,欢迎访问三七文档
1.公鸡6元一只,母鸡5元一只,小鸡1元三只,刚好花100元买100只鸡,有哪些买法?输入格式要求:无输出结果格式要求:公鸡数=母鸡数=小鸡数=#includeiostreamusingnamespacestd;intmain(){intg,m,x;for(g=0;g=20;g++){for(m=0;m=33;m++){x=100-g-m;if(!(x%3)&&x/3+m*5+g*6==100){cout公鸡数=gendl;cout母鸡数=mendl;cout小鸡数=xendl;}}}return0;}2.求多项式1!+2!+3!+……+15!的值。输出格式要求:couts=sendl;#includeiostreamusingnamespacestd;intmain(){ints=0;for(inti=1;i=15;i++){intx=1;for(intj=1;j=i;j++)x=x*j;s=s+x;}couts=sendl;return0;}3.用“辗转相除方法”计算两个数x,y的最大公约数。输入格式要求:无,直接输入输出格式要求:无,直接输出结果#includeiostreamusingnamespacestd;intmain(){intx,y,n;cinxy;n=x%y;while(n!=0){x=y;y=n;n=x%y;}coutyendl;return0;}4用while循环编程,求自然数1至100之间各奇数平方和sum。输出结果格式为:sum=166650#includeiostreamusingnamespacestd;intmain(){inti=1,n,sum=0;while(i=100){n=i*i;sum=sum+n;i=i+2;}coutsum=sumendl;return0;}5.输出100到1000之间的各位数字之和能被15整除的所有数,输出时每10个一行。输入格式要求:无输出格式要求:coutsetw(5)m;每10个一行。#includeiostream#includeiomanipusingnamespacestd;intmain(){intm,n,k,i=0;for(m=100;m=1000;m++){k=0;n=m;do{k=k+n%10;n=n/10;}while(n0);if(k%15==0){coutsetw(5)m;i++;if(i%10==0)coutendl;}}return0;}6.将1-100之间奇数顺序累加存入n中,直到其和等于或大于200为止。输出结果格式:n=225#includeiostreamusingnamespacestd;intmain(){inta,n;n=0;for(a=1;a=100;){n+=a;if(n=200)break;a+=2;}coutn=nendl;}7.有递推公式f(n)=0.5*f(n-1)+0.7*f(n-2),已知f(0)=1,f(1)=1,求f(20)输入格式要求:无输出结果格式要求:f(20)=#includeiostreamusingnamespacestd;intmain(){doublef,f1,f2;f2=1;f1=1;for(intn=2;n=20;n++){f=0.5*f1+0.7*f2;f2=f1;f1=f;}coutf(20)=fendl;return0;}8.求1至200之间的所有质数,将质数和存入变量sum中并输出。质数(素数)的说明:“质数是只能被1和其本身整除的数”。输入提示要求:无输出结果格式要求:质数之间以一个空格隔开输出所有质数后换行输出:sum=4227#includeiostream#includecmathusingnamespacestd;intmain(){intN,m,sum=0;for(m=2;m=200;m++){inti,tmp=(int)sqrt(m);for(i=2;i=tmp;i++)if(m%i==0)break;if(itmp){coutm;sum+=m;}}coutendl;coutsum=sumendl;return0;}9.以下程序的功能是以每行5个数来输出300以内能被7或17整除的偶数,并求出其和。输入格式:无输出格式:每个数据以一个空格隔开,5个一行和另起一行输出coutsum=sumendl;#includeiostreamusingnamespacestd;intmain(){inti,n,sum;sum=0;n=0;for(i=1;i300;i++)if(i%7==0||i%17==0)if(i%2==0){sum=sum+i;n++;couti'';if(n%5==0)coutendl;}coutendl;coutsum=sumendl;return0;}10从键盘上输入若干名学生的成绩,以一个负分结束输入,计算平均成绩并统计90分以上的学生人数。输入信息格式要求:cout请输入学生成绩,以负数结束输入:endl;输出信息格式要求:输出平均成绩和90分以上的学生人数,中间用空格分隔,输出结束后换行结束程序#includeiostreamusingnamespacestd;intmain(){intscore,n=0,t=0;doublesum=0,average;cout请输入学生成绩,以负数结束输入:endl;cinscore;while(score=0){if(score=90)t=t+1;sum=sum+score;n=n+1;cinscore;}if(n0)average=sum/n;coutaveragetendl;return0;}11.从键盘输入一批非零整数,输出其中的偶数、奇数的平均值,用零作为终止标记。输入格式要求:无输出提示信息格式要求:偶数平均值:奇数平均值:#includeiostreamusingnamespacestd;intmain(){intx,i=0,j=0;floats1=0,s2=0,av1,av2;cinx;while(x!=0){if(x%2==0){s1=s1+x;i++;}else{s2=s2+x;j++;}cinx;}if(i!=0)av1=s1/i;elseav1=0;if(j!=0)av2=s2/j;elseav2=0;cout偶数平均值:av1endl;cout奇数平均值:av2endl;return0;}12.程序设计:打印如下图案*************************输入信息格式提示:无输出信息格式提示:无#includeiostreamusingnamespacestd;intmain(){inti,j;for(i=1;i=5;i++){for(j=1;j=i;j++)cout;for(j=1;j=5;j++)cout*;coutendl;}return0;}13.程序设计:打印出1000以内的同时满足如下条件的数,个位数字与十位数字之和除以10所得的余数等于百位数字输入提示信息格式:无输出提示信息格式:无#includecmath#includeiostream#includeiomanipusingnamespacestd;intmain(){inta,b,c,d,i,j,flag=1;for(i=3;i1000;i++){for(j=2,flag=1;j=sqrt(i)&&flag;j++)if(i%j==0)flag=0;if(flag==1){a=i/100;b=(i-a*100)/10;c=i-a*100-b*10;d=b+c-(c+b)/10*10;if(d==a)coutsetw(5)i;}}return0;}14.打印水仙花数及个数n(水仙花数是三位数,每位数字的立方和等于这个数本身)。输入格式要求:无输出结果:153,370,371,407,n=4#includeiostreamusingnamespacestd;intmain(){inta,b,c,i,n=0;for(i=100;i=999;i++){a=i/100;b=(i-a*100)/10;c=(i-a*100-b*10);if(i==a*a*a+b*b*b+c*c*c){n++;couti,;}}coutn=nendl;return0;}15.程序设计:计算T=1-1/2+2/3-3/4+……-29/30输入提示信息格式说明:无输出提示信息格式说明:无输出结果:0.323242#includeiostreamusingnamespacestd;intmain(){intf,k;floatt1,t=1;f=-1;for(k=2;k=30;k++){t1=(float)(k-1)/k;t+=t1*f;f=-f;}coutt;return0;}16用1,2,3可组成多少各位无重复的3位数,分别输出,用一个空格分隔,每行输出3个数输入格式要求:无#includeiostreamusingnamespacestd;intmain(){inti,j,k,n=0;for(i=1;i=3;i++)for(j=1;j=3;j++)for(k=1;k=3;k++){if(i!=j&&i!=k&&k!=j){coutijk;n++;if(n%3==0)coutendl;}}coutendl;return0;}17.程序设计:在[100,5000]之间打印出各位数字和为5的所有整数的个数.输入信息格式提示:无输出信息格式提示:无#includeiostreamusingnamespacestd;intmain(){inta,b,c,d,k,i;k=0;for(i=104;i=500;i++){a=i/100;b=(i-a*100)/10;c=i-a*100-b*10;if(a+b+c==5)k++;}for(i=1000;i=5000;i++){a=i/1000;b=(i-a*1000)/100;c=(i-a*1000-b*100)/10;d=i-a*1000-b*100-c*10;if(a+b+c+d==5)k++;}coutk;return0;}18.以下程序的功能是用公式π/4=1-1/3+1/5-1/7+......求π的近似值。要求直到最后一项的绝对值小于1e-6为止。输出提示信息格式控制:coutpi=piendl;#includeiostream#includecmathusingnamespacestd;intmain(){doublet,pi,a,b;pi=0;a=1;b=1;t=a/b;while(fabs(t)=1e-6){pi=pi+t;a=-a;b=b+2;t=a/b;}pi=pi*4;coutpi=piendl;return0;}19.从键盘输入一个正整数,判断是否能写成2个素数之和,并输出所有的素数组合输入格式要求:无输出结果要求:每组占一行,以逗号分隔例如,输入5,则输出:2,33,2#includeiostreamusingnamespacestd;intmain(){intx,f1,f2;cinx;intn;for(n=1;n=x-1;n++){f1=1;inti;for(i=2;i=n-1;i++)if(n%i==0)f1=0;f2=1;for(i=2;i=x-n-1;i++)if((x-n)%i==0)f2=0;if(f1==1&&f2==1)
本文标题:C++循环结构
链接地址:https://www.777doc.com/doc-4285614 .html