循环程序设计.ppt
上传人:天马****23 上传时间:2024-09-11 格式:PPT 页数:33 大小:1.1MB 金币:10 举报 版权申诉
预览加载中,请您耐心等待几秒...

循环程序设计.ppt

循环程序设计.ppt

预览

免费试读已结束,剩余 23 页请下载文档后查看

10 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

其中:label是语句标号,它命名的规则同变量名;语义:使程序无条件地转向标号为label的语句去执行;二、while语句:语法:while(exp)循环体语句语义:当exp为真时,执行循环体,为假时,执行循环语句的后续语句;三、do-while语句语法:do循环体语句;while(exp);语义:当exp为真时,执行循环体;为假时,执行循环语句的后续语句;如:i=3;do{sum+=i;i++;}while(i>10);#include<stdio.h>main(){ints;floatn,t,pi;t=1.0;/*t存放每项的值*/pi=0.0;/*pi存放所求的π值*/n=1.0;/*n存放每项分母*/s=1;/*s存放每项分子*/while(fabs(t)>=1e-4){pi=pi+t;n=n+2.0;s=-s;t=s/n;}四、for语句语法:for(表达式1,表达式2,表达式3)循环体语句;语义:1.先求表达式1;2.求解表达式2,其值为真,执行第三步;为假,结束循环;3.执行循环体中的语句;4.求解表达式3;5.转回第二步继续执行.§6~§9循环控制一、循环的嵌套:一个循环体内又包含另一个完整的循环结构main(){inti,j;for(i=1;i<=9;i++){for(j=1;j<=9;j++)printf(“%d*%d=%2d“,i,j,i*j);printf(“\n”);}}例2打印下面的图形。************例3:输入6名学生5门课程的成绩,分别统计出每个学生5门课程的平均成绩。二、几种循环的比较三、break语句和continue语句2.continue语句四、程序举例例2:打印出所有的“水仙花数”。所谓“水仙花数”是指一个3位数,其各位数字的立方和等于该数本身。例如,153是一个“水仙花数”,因为153=13+53+33main(){inti,j,k,s;for(i=1;i<=9;i++)for(j=0;j<=9;j++)for(k=0;k<=9;k++){s=i*100+j*10+k;/*百、十、个位上的数字组成一个三位数*/if(s==i*i*i+j*j*j+k*k*k)printf(“%d\n”,s);}}例3:两个乒乓球队进行比赛,各出三人。甲队为A、B、C,乙队为X、Y、Z三人,已经抽签决定比赛名单。有人向队员打听比赛的名单,A说他不和X比,C说他不和X、Z比。请编程序找出三对赛手的名单。例4:猴子第一天摘下若干桃子,当即吃了一半,还不过瘾,又多吃了一个。第二天早上又将剩下的桃子吃掉了一半,又多吃了一个,以后每天早上都吃了前一天剩下的一半零一个。到第10天早上再想吃时,发现只剩下一个桃子了。求第一天共摘多少个桃子。main(){ints=1,i;for(i=9;i>=1;i--)s=(s+1)*2;printf(“s=%d\n”,s);}例5.按下面的近似公式计算:e=1+1/1!+1/2!+1/3!+…….1/n!+……..使误差小于给定的值。(20)有以下程序(2004.4)main(){inti;for(i=0;i<3;i++)switch(i){case1:printf("%d",i);case2:printf("%d",i);default:printf("%d",i);}}21)有以下程序(2004.4)main(){inti=1,j=1,k=2;if((j++‖k++)&&i++)printf("%d,%d,%d\n",i,j,k);}(24)有以下程序(2004.4)main(){inti=0,s=0;do{if(i%2){i++;continue;}i++;s+=i;}while(i<7);printf("%d\n",s);}(23)有以下程序(2004.9)main(){intk=4,n=0;for(;n<k;){n++;if(n%3!=0)continue;k--}printf("%d,%d\n",k,n);}(24)要求以下程序的功能是计算:s=?main(){intn;floats;s=1.0;for(n=10;n>1;n--)s=s+1/n;printf("%6.4f\n",s);}9)以下程序运行后的输出结果main(){inti,m=0,n=0,k=0;for(i=9;i<=11;i++)switch(i/10){case0:m++;n++;break;case10:n++;break;default:k++;n++;}print