第4章 循环结构程序设计2

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

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

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

资源描述

2020年1月19日1时21分1第4章循环结构程序设计4.1循环语句的四种循环格式4.1.1goto格式标示符:if表达式{循环体;goto标示符;}22020年1月19日1时21分例:计算s=1+2+3+……+50#includeiostream.hmain(){inti=0,s=0;loop:if(i51){s=s+i;i=i+1;gotoloop;}couts=sendl;}2020年1月19日1时21分34.1.2while格式while表达式{循环体;}例:计算s=1+2+3+……+502020年1月19日1时21分4#includeiostream.hmain(){inti=0,s=0;while(i50){i=i+1;s=s+i;}couts=sendl;}2020年1月19日1时21分54.1.3do---while格式do{循环体;}while表达式;例:计算s=1+2+3+……+502020年1月19日1时21分6#includeiostream.hmain(){staticinti,s;do{s=s+i;i=i+1;}while(i51);couts=sendl;}72020年1月19日1时21分4.1.4for()格式for(表达式1;表达式2;表达式3){循环体}说明:1.表达式1决定了循环的初值,表达式2决定循环的条件,表达式3决定循环的增量。2.表达式1在循环中只执行一次。表达式2,表达式3在循环中每次都要执行一次。2020年1月19日1时21分8例:求S=1+2+3+……+100程序1:#includeiostream.hmain(){inti,s=0;for(i=1;i101;i++)s+=i;cout“sum=”sendl;}92020年1月19日1时21分程序2:#includeiostream.hmain(){inti=1,s;for(s=0;i101;i++)s+=i;coutsum=sendl;}2020年1月19日1时21分10程序3:#includeiostream.hmain(){inti=1,s=0;for(;i101;)s+=i++;coutsum=sendl;}2020年1月19日1时21分11程序4:#includeiostream.hmain(){inti=1,s=0;for(;i101;s+=i++);coutsum=sendl;}2020年1月19日1时21分12程序5:#includeiostream.hmain(){inti=100,s=0;for(;i;i--)s+=i;coutsum=sendl;}2020年1月19日1时21分13例:编程计算下列各项S=1+2+3+……+100S=1+22+32+……+1002S=1+3+5……+99S=1+1/2+1/3+……+1/100S=1/1+1/22+1/32+……+1/1002n!=1*2*3*……*nS=Σk!=1+2!+3!+……+n!S=1-2+3+……+(-1)nnS=1-1/2+1/3+……+(-1)n/nS=1-22+32-……+(-1)n1002e=1+1/1!+1/2!+1/3!+……+1/n!直到最后一项小于0.000012020年1月19日1时21分14ex=1+x/1!+x2/2!+x3/3!+……+xn/n!直到最后一项小于0.001s=1-1/2!+1/3!+……+(-)(n+1)/n!直到最后一项小于0.001s=1+x+x/2!+x/3!+……+x/n!直到最后一项小于0.00001s=1-x+x/2!-x/3!+……+(-)(n+1)x/n!直到最后一项小于0.001π/4=1-1/3+1/5-1/7+……求π,直到最后一项小于0.0012020年1月19日1时21分152.循环可以从小向大,也可以从大到小。例:计算s=1+2+3+……+100#includeiostream.hmain(){inti,s=0;for(i=100;i0;i--){s=s+i;}cous=sendl;2020年1月19日1时21分163.循环变量的值起三个作用,一是记数,二是可以参加循环体计算,三是用做数组的下标。例:计算10个数的和#includeiostream.hmain(){inti,s=0;staticinta[10]={1,3,4,5,4,3,3,3,4,2};for(i=1;i10;i++){s=s+a[i];}couts=sendl;}2020年1月19日1时21分174.三个表达式可以有,也可以全无,但“;”不能少。如果表达式2无,程序将进入无限循环。5.可以用break命令中断循环.例:计算s=1+3+5+……+n直到最后一项为99止.#includeiostream.hmain(){inti,s=0;for(i=1;;i=i+2){if(i==101)break;s=s+i;}coutsendl;}2020年1月19日1时21分186.可以用continue命令中断当前这一次循环,继续下一次循环.例:计算s=1+3+5+……+99#includeiostream.hmain(){inti,s=0;for(i=1;i100;i++){if(i%2==0)continue;s=s+i;}couts=sendl;}2020年1月19日1时21分194.2多层循环例:开设3门课程,计算每个学生平均成绩#includeiostream.hmain(){inti,j,s=0;inta[5][3]={87,78,79,87,98,67,56,79,98};for(i=0;i3;i++){s=0;for(j=0;j3;j++){s=s+a[i][j];couta[i][j];}couts/3endl;}}2020年1月19日1时21分204.3循环中断break4.4exit()函数例:从键盘上输入字母,然后输出比它的ASCII码大1的字母#includeiostream.h#includestdio.hmain(){charch='a';coutinputletters=;2020年1月19日1时21分21while(ch!='#'){ch=getchar();if(ch=='z'||ch=='Z')putchar(ch-25);elseputchar(ch+1);}}2020年1月19日1时21分22题1:输出九九乘法表12345678911234567892246810121416189918273645546372812020年1月19日1时21分23#includeiostream.h#includeiomanip.hmain(){intk,j;cout;for(k=1;k10;k++)coutksetw(5);//width(5)cout'\n';2020年1月19日1时21分24for(k=1;k10;k++){coutsetw(5)k;for(j=1;j10;j++){coutsetw(5)k*j;}coutendl;}}//{cout.width(5);coutk*j;}2020年1月19日1时21分25#includeiostream.h#includeiomanip.hmain(){intk,j;cout;for(k=1;k10;k++){cout.width(5);coutk;}cout'\n';for(k=1;k10;k++){coutsetw(5)k;for(j=1;j10;j++){cout.width(5);coutk*j;}coutendl;}}2020年1月19日1时21分26题2:判断m是否是素数。#includeiostream.hmain(){intk,m,h=1;cinm;for(k=2;km;k++)if(m%k==0)h=0;if(h==1)coutm“isaprimenumber”endl;}2020年1月19日1时21分27题3;求出100以内的所有素数#includeiostream.hmain(){intk,m;for(m=3;m100;m=m+1){for(k=2;km;k++)if(m%k==0)break;if(k==m)coutmisaprimenumberendl;}}2020年1月19日1时21分28题4:求m,n的最大公约数#includeiostream.hmain(){intm,n,m1,n1,r;cinmn;m1=m;n1=n;r=m%n;while(r!=0){m=n;n=r;r=m%n;}coutm=m1endl;coutn1=n1endl;coutr=nendl;}2020年1月19日1时21分29题5:求Fibonaccii(斐波那契)数列中前20项中每一项(递推法)0,1,1,2,4,7,13,……#includeiostream.hmain(){longk,a=0,b=1,c=1,d;for(k=1;k18;k++){d=a+b+c;coutd'\t';a=b;b=c;c=d;}}2020年1月19日1时21分30题6:2000年人口13亿,年增长0.5%和2.1%,多少年后达到或超过20亿(87,21)?#includeiostream.hmain(){intn=0;floatf=13,e=0.005;while(f20){f=f*(1+e);n=n+1;}coutnendl;}2020年1月19日1时21分31题7:产生10个学生的成绩,呈正态分布#includeiostream.h#includetime.h#includemath.h#includestdlib.h#includeiomanip.hmain(){intk;floatx;srand(time(NULL));for(k=1;k11;k++){x=rand()/32767.0*90;x=sin(x*3.14/180)*71+30;cout(int)xsetw(5);if(k%10==0)coutendl;}}2020年1月19日1时21分32题13:梯形法求积分:∫sin(x)dx题14:用牛顿迭代法求方程x5+2x3-x2+x+1=0在0附近的根。题15:找出1000以内的水仙花数。三位数的立方和等于自身(13+53+33=153)题16:根据以下算术式,求A、B、C、DABCD--CDC----------------ABC题17:输出图形AABCABCDEABCDEFG2020年1月19日1时21分332020年1月19日1时21分342020年1月19日1时21分35春天、阳光、空气、鲜花、明天

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

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

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

×
保存成功