C++语言程序设计第八讲

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

根据leap取值得出结论从2到n-1测试是否有n的因子读入nleap=1若有,将leap=0#includeiostream.hvoidmain(){intn,leap,i;cinn;leap=1;for(i=2;in;i++)if(n%i==0)leap=0;if(leap)coutyes;elsecoutno;}判断素数非0为真0为假例1:找出1000以内的所有素数。for(n=2;n=1000;n++){leap=1;for(i=2;in;i++)if(n%i==0)leap=0;if(leap)coutn;}循环的嵌套#includeiostream.hvoidmain(){inti,j,num;for(i=0;i3;i++){for(j=1;j=3;j++){num=i*3+j;coutnum;}coutendl;}}例2:写出下列程序运行结果.举例123456789***********************************例3:打印下边图形。voidmain(){intk,i;for(k=1;k=5;k++)for(i=1;i=7;i++)cout*;coutendl;}内循环#includeiostream.h几何图形制作{}外循环for(i=1;i=5;i++)×for(j=1;j=i;j++)}inti,j;voidmain()for(i=1;i=5;i++)}***************#includeiostream.h几何图形制作{{cout*;coutendl;例4:打印下边图形。for(i=1;i=5;i++)for(k=1;ki;k++)}}inti,j,k;voidmain()for(j=1;j=i;j++)***************#includeiostream.h几何图形制作{{cout*;coutendl;cout;例5:打印下边图形。补充题3:打印出菱形图案(用循环嵌套实现)*************************补充作业根据leap取值得出结论从2到n-1测试是否有n的因子读入nleap=1若有,将leap=0#includeiostream.hvoidmain(){intn,leap,i;cinn;leap=1;for(i=2;in;i++)if(n%i==0)leap=0;if(leap)coutyes;elsecoutno;}判断素数for(i=2;i=sqrt(n);i++)break;{}if(isqrt(n))#includemath.h循环辅助控制break语句可用于循环体中,使程序从整个循环中退出.continue语句可用于循环体中,使程序从本次循环中退出,继续下一次循环.以do~while循环为例:breakcontinue退出整个循环退出本次循环break;continue;循环体表达式whiledo循环体表达式whiledo#includestdio.hvoidmain(){inti;for(i=0;i8;i++){if(i%2==0)break;elseprintf(%d,i);printf(**);}}#includestdio.hvoidmain(){inti;for(i=0;i8;i++){if(i%2==0)continue;elseprintf(%d,i);printf(**);}}1**3**5**7**例6:写出下列程序运行结果。辗转相除算法首先把两数中的大数作被除数,小数作除数,两数相除得一余数。将除数作为被除数,余数作为除数再作除法,得到一个新的余数。不断重复这一过程直到余数为零,这时的除数就是两数的最大公约数。mn真当m%n!=0读入m,n输出n假交换m,ntemp=m%nm=nn=temp#includeiostream.hvoidmain(){intm,n,temp,ji;cinmn;ji=m*n;if(mn){temp=m;m=n;n=temp;}while(m%n!=0){temp=m%n;m=n;n=temp;}cout最大公约数是:nendl;cout最小公倍数是:ji/nendl;}例7求出任意两个数的最大公约数和最小公倍数。算a算q算p例8计算:s=1+x–2!x2+x3–3!……n!+(–1)n+1xn通项ai=i!(–1)i+1qmp=算ms+=an次fori=1tona=m*p/qq*=i输入x,n输出sm=-mp*=xq=1m=-1s=1程序举例xip=1i=1,2,……,n#includeiostream.hvoidmain(){floats,x,a,p,q;intn,i,m;cinxn;m=-1;p=1;q=1;s=1;for(i=1;i=n;i++){m=-m;p*=x;q*=i;a=m*p/q;s+=a;}coutsendl;}x和n键盘输入例8计算:s=1+x–2!x2+x3–3!……n!+(–1)n+1xn通项:ai=i!(–1)i+1s+=aa=a*(-1)*x/ifori=1tons=1输入x,n输出sa=-1程序举例xiai=iai-1*xi=1,2,……,n#includeiostream.hvoidmain(){floats,x,a;intn,i;cinxn;s=1;a=-1;for(i=1;i=n;i++){a=a*(-1)*x/i;s+=a;}coutsendl;}(–1)x2x3例9计算:s=1+x–2!+–3!……n!+(–1)n+1xn当n!(–1)n+1xn的绝对值小于10-6为止s+=aa=a*(-1)*x/is=1输入x输出sa=xi=1当|a|=10-6i++#includeiostream.h#includemath.hvoidmain(){floats,x,a;inti;cinx;s=1;a=x;i=1;while(fabs(a)=1e-6){s+=a;i++;a=a*(-1)*x/i;}coutsendl;}程序举例补4:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如2+22+222+2222+22222(共有5个数相加),几个数相加由键盘控制。补充作业补5:用π/4≈1-1/3+1/5-1/7+…公式求π的近似值,直到最后一项的绝对值小于10-6为止。程序举例例10从任意n个数中找出最大的数。1.假设第一个数最大2.第二个数与max比较3.第三个数与max比较n.第n个数与max比较读入amax=a读入aamax真max=afori=2ton读入n输出max假大数max大数max大数max读数比较n-1次voidmain()inta,max,i,n;max=a;for(i=2;i=n;i++)scanf(%d,&a);max=amax?a:max;printf(max=%d,max);}printf(Inputn,a:);scanf(%d%d,&n,&a);#includestdio.h{}{每只公鸡值5元,母鸡值3元,小鸡三只值1元。用100元钱买100只鸡,问公鸡、母鸡、小鸡各买多少只?设:X,Y,Z分别是公鸡、母鸡和小鸡的只数。由题意:X+Y+Z=1005X+3Y+Z/3=100&&z%3==0)#includestdio.hvoidmain(){for(y=0;y=33;y++){if(5*x+3*y+z/3==100)printf(%6d%6d%6d\n,x,y,z);}printf(COOKHENCHICK\n);for(x=0;x=20;x++)}COOKHENCHICK02575320774187871380811811168312484intx,y,z;例11、百钱买百鸡问题z=100-x-y;(例12:写出下列程序运行结果.2.0000003.000000举例#includestdio.hvoidmain()inti;floats=1.0;for(i=0;i=1.5;i=i+1.5)s=s+i;for(i=0;i=1;i++)s=s+i*i;printf(%f\n,s);}{}{s1.02.0120i013.02例13:写出下列程序运行结果。举例#includeiostream.hvoidmain(){intk=5,n=1;while(k0){switch(k){default:break;case1:n+=k;case2:case3:n+=k;}k=k-2;}coutn;}kn5134156-16#includeiostream.hvoidmain(){inti,j;for(i=0,j=1;i=j+1;i++,j--)printf(%d,i);}例14:写出下列程序运行结果.0举例逗号表达式ij01102-11#includestdio.hvoidmain(){inti,j,x=0;for(i=0;i2;i++){x++;for(j=0;j=3;j++){if(j%2)continue;x++;}x++;}printf(x=%d\n,x);}例15:写结果。x=8举例continue和break语句只对本层循环有效。

1 / 22
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功