ImageVerifierCode 换一换
格式:PPTX , 页数:59 ,大小:444.65KB ,
资源ID:4299620      下载积分:16 金币
验证码下载
登录下载
邮箱/手机:
验证码: 获取验证码
温馨提示:
支付成功后,系统会自动生成账号(用户名为邮箱或者手机号,密码是验证码),方便下次登录下载和查询订单;
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/4299620.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  
声明  |  会员权益     获赠5币     写作写作

1、填表:    下载求助     留言反馈    退款申请
2、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
3、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
4、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
5、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【精****】。
6、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
7、本文档遇到问题,请及时私信或留言给本站上传会员【精****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。

注意事项

本文(循环程序设计.pptx)为本站上传会员【精****】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4008-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

循环程序设计.pptx

1、第第 5 5 章章 循环控制程序设计循环控制程序设计 1.目的、要求目的、要求 掌握掌握实现循环的实现循环的3种方法及其比较种方法及其比较。掌握循环的嵌套。掌握循环的嵌套。掌握掌握break和和continue语句的使用。语句的使用。2.重点、难点重点、难点 循环结构的灵活应用。循环结构的灵活应用。循环型程序设计循环型程序设计 循环结构在程序设计中十分重要。所谓循环结构就是当给定条件成立时,反复执行某程序段,直到条件不成立为止。给定的条件称为循环条件,反复执行的程序段称为循环体。循环结构是结构化程序三种基本结构之一,可用于实现循环的C语句有:goto语句+if语句 while语句 dowhil

2、e语句 for语句q问题提出打印整数打印整数1-10打印整数打印整数1-100打印整数打印整数1-n方法一:方法二:printf(“%d”,1);printf(“%d”,2);printf(“%d”,10);printf(“%d%d%d%d”,1,2,3,10);printf(“%d”,i);i+;printf(“%d”,i);i+;printf(“%d”,i);i+;i=1;程序段inti=1;while(i=10)printf(%d,i);i+;循环不变式循环不变式while结构的应用结构的应用while语句用于实现“当型”循环结构,一般形式为:while(条件表达式)(条件表达式)循环体

3、循环体当表达式为非非0时,执行while的内嵌语句。特点:先判断表达式,后执行语句。特点:先判断表达式,后执行语句。注意:循环体可以是用花括号括起的复合语句;循环体中应有使循环趋于结束的语句,否则将进入死循环。用计数法设置循环条件时,应特别注意“边界值”的选取。while语句的意义为:计算表达式的值,若表达式的值为真(非0)时,则执行循环体语句;不断反复,直到表达式的值为假(0),则不执行循环体语句,而直接转向循环体外的第一条语句。注意,whlie语句后没有分号(;)。为了保证循环体可以结束,通常采用每循环一次向某种方向改变表达式的值,使得表达式的值最终可以为假。还有一种方法是在某种条件下,强

4、行从循环体中跳出(如使用break语句)。若表达式的值永远为真,则循环体被不断地执行,也就是说,永远不能从循环中退出,我们通常称这种循环为“死循环”。在绝大多数情况下,都不允许死循环。PA假真A当P为真计算表达式的值,为非0(逻辑真)时,重复执行内嵌语句,每执行一次,就判断一次表达式的值,直到表达式的值为0时结束循环,转去执行while后面的语句。当表达式为真当表达式为真 语句语句N-SN-S结构图结构图结构图结构图N NY Y流程图流程图流程图流程图表表达达式式非非0?语句语句循环控制条件循环控制条件循环控制条件循环控制条件循环体循环体循环体循环体循环不变式循环不变式循环不变式循环不变式改变

5、循环条件改变循环条件改变循环条件改变循环条件【例5.2】编写程序,求100个自然数的和即:SUM=1+2+3+100sum=0sum+1sumsum+2sumsum+3sumsum+100sum循环不变式sum=sum+?main()inti,sum;i=1;sum=0;while(i=100)sum=sum+i;i+;printf(sum=%dn,sum);i=1,sum=0 当当i=100 sum=sum+i i+输出输出sumi i:循环控制变量循环控制变量sumsum:累加器累加器为了保证循环正常运行,应该特别注意:循环控制条件的描述控制条件的初始状态(初始值)循环体内部对控制条件的影

6、响用于实现“直到型”循环结构,一般形式为:do 循环体循环体 while(条件表达式)(条件表达式);先执行语句,再判断表达式的值,直到表达式的值为0时结束循环。特点:先执行语句,后判断表达式。特点:先执行语句,后判断表达式。do while结构的应用结构的应用PA假真A直到P为真 循环体循环体当表达式为真当表达式为真N-S结构图结构图NY循环体循环体表达式非表达式非0?流程图流程图main()inti=1,sum=0;dosum=sum+i;i+;while(i=100);printf(%dn,sum);用用用用do-whiledo-while语句语句语句语句求求求求100100个自然数的和

7、个自然数的和个自然数的和个自然数的和 l l区别:区别:do-while 语句语句先执行循环体再判断条先执行循环体再判断条件,循环体件,循环体至少执行一次至少执行一次;while 语句语句先判断条件再执行循环体,先判断条件再执行循环体,循环体有可能一次也不执行循环体有可能一次也不执行l ldowhile循环体中一定要有能使表达式值循环体中一定要有能使表达式值趋于趋于0的操作的操作(如如i+),否则会出现,否则会出现死循环死循环。对于do-while语句还应注意以下几点:l在if语句、while语句中,表达式后面都不能加分号,而在do-while语句的表达式后面则必须加分号;ldo-while语

8、句也可以组成多重循环,而且也可以和while语句相互嵌套;l在do和while之间的循环体由多个语句组成时,必须用括起来;ldo-while和while语句相互替换时,要注意修改循环控制条件;例:求i+(i+1)+(i+2)+10,其中i由键盘输入,分别用两种语句编程while循环程序do-while循环程序#includemain()inti,sum=0;scanf(%d,&i);while(i=10)sum=sum+i;i+;printf(i=%d,sum=%dn,i,sum);#includemain()inti,sum=0;scanf(%d,&i);dosum=sum+i;i+;whi

9、le(i=10);printf(i=%d,sum=%dn,i,sum);例:输入一些数,求和,直到输入负数为止#includemain()intx,sum=0;scanf(%d,&x);while(x=0)sum=sum+x;scanf(%d,&x);printf(sum=%d,sum);#includemain()intx,sum=0;doscanf(%d,&x);sum=sum+x;while(x=0);printf(sum=%d,sum);输入:1,2,5,-10输入:-10,1,2,5结果:sum=8结果:sum=-2结果:sum=0结果:sum=-10一般形式为:for(表达式表达式

10、1;表达式;表达式2;表达式;表达式3)语句语句最简单、最易理解的形式为:for(循环变量初值;循环条件;循环变量增值)语句循环变量初值;循环条件;循环变量增值)语句如:for(i=1;i=100;i+)sum=sum+i;求解表达式1表达式2语句求解表达式3for语句的下一语句for结构的语法结构的语法0非0for语句一般格式for(表达式1;表达式2;表达式3)语句l l功能:功能:计算表达式计算表达式计算表达式计算表达式1 1的值,再的值,再的值,再的值,再判断表达式判断表达式判断表达式判断表达式2 2,如果其,如果其,如果其,如果其值为非值为非值为非值为非0 0(逻辑真),则执行内嵌语

11、句(逻辑真),则执行内嵌语句(逻辑真),则执行内嵌语句(逻辑真),则执行内嵌语句(循环体循环体循环体循环体),并,并,并,并计算表达式计算表达式计算表达式计算表达式3 3;之后再去判断表达式;之后再去判断表达式;之后再去判断表达式;之后再去判断表达式2 2,一直到其值为一直到其值为一直到其值为一直到其值为0 0时结束循环,执行后续语句。时结束循环,执行后续语句。时结束循环,执行后续语句。时结束循环,执行后续语句。循环控制条件循环控制条件循环控制条件循环控制条件循环体循环体循环体循环体循环初始条件循环初始条件循环初始条件循环初始条件循环变量改变循环变量改变循环变量改变循环变量改变for(表达式表

12、达式1;表达式;表达式2;表达式;表达式3)语句)语句表达式表达式1;while(表达式(表达式2)语句语句 表达式表达式3;等价于N-S结构图结构图for(表达式表达式1;表达式表达式2;表达式表达式3)语句语句NY流程图流程图计算表达式计算表达式1 计算表达式计算表达式3表达式表达式2为真为真?例如:main()inti,sum;sum=0;for(i=1;i=100;i+)sum=sum+i;printf(sum=%dn,sum);可部分或全部省略可部分或全部省略可部分或全部省略可部分或全部省略,但但但但“;”不可省略不可省略不可省略不可省略for语句用while实现exp1;while

13、(exp2)语句语句;exp3;表达式表达式表达式表达式1 1、2 2、3 3全省略,即:全省略,即:全省略,即:全省略,即:for(;)就等同于:就等同于:就等同于:就等同于:while(1)while(1),会无限循环(死循环),会无限循环(死循环),会无限循环(死循环),会无限循环(死循环)注意:在省略某个表达式时,应在适当位置进行循注意:在省略某个表达式时,应在适当位置进行循环控制的必要操作,以保证循环的正确执行环控制的必要操作,以保证循环的正确执行 省略表达式省略表达式省略表达式省略表达式1 1和表达式和表达式和表达式和表达式3 3,即:即:即:即:forfor(;表达式(;表达式(

14、;表达式(;表达式2 2;);););)就等同于:就等同于:就等同于:就等同于:whilewhile(表达式表达式表达式表达式2 2)省略表达式省略表达式省略表达式省略表达式2 2,即:即:即:即:forfor(表达式(表达式(表达式(表达式1 1;表达式;表达式;表达式;表达式3 3)就等同于:就等同于:就等同于:就等同于:表达式表达式表达式表达式1;while(1)1;while(1)表达式表达式表达式表达式3;3;3.限定转向语句限定转向语句break:终止循环或多路选择结构。continue:结束本次循环。函数调用和返回:转向被调函数和从被调函数返回。while ()()|break;

15、|while ()()|continue;|后续语句后续语句break;break;Y YN N表达式表达式表达式表达式?后续语句后续语句break;break;表达式表达式表达式表达式?Y YN Nbreak语句功能:利用break语句能够强迫终止本层循环,转到后续语句执行。whilewhile语句语句语句语句do-whiledo-while语句语句语句语句后续语句后续语句计算表达式计算表达式计算表达式计算表达式3 3计算表达式计算表达式计算表达式计算表达式1 1break;break;表达式表达式表达式表达式2?2?Y YN Nforfor语句语句语句语句后续语句后续语句continue;

16、continue;Y YN N表达式表达式表达式表达式?后续语句后续语句continue;continue;表达式表达式表达式表达式?Y YN Ncontinue语句功能:中断循环体的本次执行(即跳过循环体中尚未执行的语句),立即开始执行下一次循环。whilewhile语句语句语句语句do-whiledo-while语句语句语句语句后续语句后续语句计算表达式计算表达式计算表达式计算表达式3 3计算表达式计算表达式计算表达式计算表达式1 1continue;continue;表达式表达式表达式表达式2?2?Y YN Nforfor语句语句语句语句例:用while语句求n项和#includemai

17、n()inti,sum=0;i=1;while(i=100)sum=sum+i;i+;printf(%dn,sum);例:用while语句将输入字符原样输出#includestdio.hmain()intc;while(c=getchar()!=n)putchar(c);例:等待按下C键#include stdio.hvoid wait_a_char()char ch;printf(请输入正确的密码请输入正确的密码:n);scanf(%c,&ch);while(ch!=c)printf(密码输入不正确,请重输密码输入不正确,请重输!);scanf(%c,&ch);return;main()wa

18、it_a_char();printf(password ok!n);例:用dowhile语句求n项和main()inti,sum=0;i=1;dosum=sum+i;i+;while(i=100);printf(%dn,sum);几种循环的比较几种循环的比较1)虽然4种循环通常可以互相代替,但不提倡用goto循环。2)对while和dowhile循环,在循环体中包含应反复执行的操作语句;而对for循环,可将循环体中的操作全部放到表达式3中。因此for语句的功能更强,可完全代替while循环。3)对while和dowhile循环,循环变量的初始化应在while和dowhile语句之前完成,而fo

19、r语句可在表达式1中完成。4)while和for是先判断后执行,dowhile是先执行后判断。5)while、dowhile、for可用break和continue控制。循环的嵌套循环的嵌套 对于相互嵌套的循环,应遵循以下原则:对于相互嵌套的循环,应遵循以下原则:1、内外循环不得交叉;、内外循环不得交叉;2、外循环的控制变量不能与任何一个内循环变量相同,、外循环的控制变量不能与任何一个内循环变量相同,但几个并列的内循环允许用相同的控制变量;但几个并列的内循环允许用相同的控制变量;一个循环(称为一个循环(称为“外循环外循环”)的循环体内包含另一个循)的循环体内包含另一个循环(称为环(称为“内循环

20、内循环”)。内循环中还可以包含循环,形成多)。内循环中还可以包含循环,形成多层循环。(循环嵌套的层数理论上无限制)层循环。(循环嵌套的层数理论上无限制),三种循环(三种循环(while循环、循环、do-while循环、循环、for循环)可以互相嵌套。循环)可以互相嵌套。while()while()for(;)while().for(;)for(;).dodo.while();while();for(;)do.while();#includemain()int i,j;for(i=0;i5;i+)for(j=0;j=i;j+)printf(“%3d”,j);printf(“n”);运行结果:运行

21、结果:0 0 1 0 1 2 0 1 2 3 0 1 2 3 4 循环嵌套举例一循环嵌套举例一#include main()int i,j;for(i=1;i=9;i+)for(j=1;j=i;j+)printf(“%dX%d=%d”,i,j,i*j);printf(“n”);循环嵌套举例二:打印九九乘法表循环嵌套举例二:打印九九乘法表运行结果:运行结果:1X1=12X1=2 2X2=43X1=3 3X2=6 3X3=94X1=4 4X2=8 4X3=12 4X4=16#includemain()int i,j;int sum1,sum2=0;for(i=1;i=5;i+)sum1=1;for

22、(j=1;j=i;j+)sum1=sum1*j;sum2=sum2+sum1;printf(“1!+2!+3!+4!+5!=%dn”,sum2);循环嵌套举例三:计算循环嵌套举例三:计算1!+2!+3!+4!+5!sum1=1;for(j=1;j=5;j+)sum1=sum1*j;求求5!#includemain()int n;for(n=100;n=200;n+)if(n%3=0)continue;printf(%d,n);例:求100200间不能被3整除的数#includemain()int a,sum=0;printf(输入一批数输入一批数:n);scanf(%d,&a);for(;)i

23、f(a0)break;sum=sum+a;scanf(%d,&a);printf(此次输入的正数之和是此次输入的正数之和是%dn,sum);例例:统计输入正数的和的程序:统计输入正数的和的程序#includemain()int i=0;for(;)i+;if(i=3)printf(“next,”);continue;printf(“%d ”,i);if(i=5)printf(“break,”);break;printf(“End!n”);例:一个特殊形式的循环程序运行结果:运行结果:1 2 next,4 5 break,End!程程 序序 举举 例例例例1-1 1-1 求求1+2+3+1+2+

24、3+n+n算法:算法:i=1 to n s=s+t t+i+i=1 to n s=s+i i+for(i=1;i=n;i+)s=s+i;程程 序序 举举 例例例例1-2 1-2 求求1+1/2+1/3+1+1/2+1/3+1/n+1/n算法:算法:i=1 to n s=s+t t+i+i=1 to n s=s+t t=1.0/ii+s=0;for(i=1;i=n;i+)s=s+1.0/i;程程 序序 举举 例例例例1-3 1-3 求求1-1/2+1/3-1/41-1/2+1/3-1/41/n1/n算法:算法:i=1 to n s=s+t t=1.0/ii+i=1 to n s=s+t t=1.

25、0/i*flag flag=(-1)*flagi+s=0;flag=1;for(i=1;i=n;i+)s=s+1.0/i*flag;flag=-flag;算法:算法:i=1 to n s=s+t t=1.0/ii+i=1 to n s=s+t t=1.0/i*flag flag=(-1)*flagi+s=0;t=1;tt=1;flag=1;for(i=1;i=n;i+)s=s+1.0/tt*flag;flag=-flag;tt=2*i+1;例例1-4 1-4 求求1-1/3+1/5-1/71-1/3+1/5-1/71/n1/ni=1 to n s=s+t t=1.0/tt*flag flag=

26、(-1)*flag tt=2*i+1i+i=1 to n s=s+t t=1.0/(2*i-1)*flag flag=(-1)*flagi+s=0;t=1;tt=1;flag=1;for(i=1;i=n;i+)s=s+1.0/(2*i-1)*flag;flag=-flag;算法:算法:i=1 to n s=s+t t=i/(i+1)i+i=1 to n s=s+t t=i/(i+1)*flag flag=(-1)*flagi+s=0;flag=1;for(i=1;i=n;i+)s=s+1.0*i/(i+1)*flag;flag=-flag;i+;例例1-5 1-5 求求s=1/2-2/3+3/

27、4-4/5+s=1/2-2/3+3/4-4/5+(-1)(-1)n-1 n-1 n/(n+1)n/(n+1)#include#includemain()int flag=1;float s,t,tt,pi;s=0;t=1.0;tt=1.0;while(fabs(t)=1E-6)s=s+t;tt=tt+2;flag=-flag;t=1.0/tt*flag;pi=s*4;printf(pi=%10.7fn,pi);例例2-1 2-1 求求1-1/3+1/5-1/71-1/3+1/5-1/7,直到最后一项的绝对值直到最后一项的绝对值=1E-6 s=s+t t=1.0/tt*flag flag=(-1

28、)*flag tt=tt+2例例3-1 3-1 求求n!n!算法:算法:i=1 to n s=s*t t+i+i=1 to n t=t*i i+t=1;for(i=1;i=n;i+)t=t*i;例例3-2 3-2 求求x xn n算法:算法:i=1 to n t=t*x i+#includemain()int n=10,x,i;long int t=1;scanf(%d,&x);for(i=1;i=n;i+)t=t*x;printf(%d的的%d次方是次方是:%dn,x,n,t);#includemain()int x1,x2,i,t;x1=x2=1;printf(%d%d ,x1,x2);f

29、or(i=1;i=18;i+)t=x1+x2;printf(%d ,t);x1=x2;x2=t;printf(n);例例4-1 4-1 输出输出FibonacciFibonacci数列前数列前2020个数个数1,1,2,3,5,8,13,x1 x2tx1 x2t算法:算法:x1=x2=1;t=x1+x2;x1=x2;x2=t;x1 x2t例例5-1 5-1 求最大数求最大数abcmaxmaxmax循环不变式循环不变式scanf(“%d”,&x)x max#includemain()int a,b,c,max;printf(input a,b,c:n);scanf(%d%d%d,&a,&b,&c

30、);max=a;if(maxb)max=b;if(maxc)max=c;printf(max is%d,max);例例5-2 5-2 输入一个正整数输入一个正整数n n,再输入,再输入n n个数,输出个数,输出n n个数中个数中的最大数的最大数abcmaxmaxmax循环不变式循环不变式scanf(“%d”,&x)x maxmax#include#includemain()main()int i,x,n,max;int i,x,n,max;printf(input n:n);printf(input n:n);scanf(%d,&n);scanf(%d,&n);if(n0)if(n0)scan

31、f(%d,&x);scanf(%d,&x);max=x;max=x;for(i=1;in;i+)for(i=1;in;i+)scanf(%d,&x);scanf(%d,&x);if(maxx)max=x;if(maxx)max=x;printf(max is%d,max);printf(max is%d,max);#include math.hmain()int i,m;scanf(%d,&m);for(i=2;i=m)printf(%d is a prime numbern,m);else printf(%d is not a prime numbern,m);例例6-1 6-1 判断判断m

32、 m是否是素数是否是素数算法:除了算法:除了1 1和和m m,不能被其它整数整除,不能被其它整数整除 m%2%3%4%5 m%2%3%4%5%(m-1)%(m-1)是素数是素数&!=0 !=0 !=0 !=0 !=0&!=0 !=0 !=0 !=0 !=0不是素数不是素数|=0 =0 =0 =0 =0|=0 =0 =0 =0 =0循环结束两个出口:循环结束两个出口:1、自然结束、自然结束!(i=m2、强制终止、强制终止(m%i=0)break#include math.hmain()int m,k,i,n=0;for(m=101;m=200;m=m+2)if(n%10=0)printf(n);

33、k=sqrt(m);for(i=2;i=k+1)printf(%d ,m);n=n+1;printf(n);例例6-2 6-2 求求100-200100-200间的全部素数间的全部素数例例7-1 7-1 将一个正整数逆序输出将一个正整数逆序输出123455 4 3 2 112345%10=5 12345/10=12341234%10=4 1234/10=123123%10=3 123/10=1212%10=2 12/10=1 1%10=1 1/10=0结束结束循环不变式:循环不变式:x%10 x=x/10 x%10 x=x/10循环条件:循环条件:x!=0 x!=0scanf(“%d”,&x)

34、while(x!=0)digit=x%10;x=x/10;printf(“%d”,digit);循环编程注意事项:循环编程注意事项:写出写出循环不变式循环不变式和和循环条件循环条件,其中循环条件包,其中循环条件包括:指定循环次数、判断某项的值、输入一个特殊括:指定循环次数、判断某项的值、输入一个特殊数作为结束。数作为结束。循环分类:循环分类:1.1.求和、求积求和、求积2.2.求最大值、最小值求最大值、最小值3.3.FibonacciFibonacci数列,数列中某项的值与前若干项有关数列,数列中某项的值与前若干项有关4.4.判断素数、完数判断素数、完数5.5.拆分一个整数拆分一个整数6.6.

35、输入一些字符,统计输入一些字符,统计7.7.穷举法穷举法#includemain()int n=0;printf(输入一行字符输入一行字符:n);while(getchar()!=n)n+;printf(%d,n);1.1.统计从键盘输入一行字符的个数统计从键盘输入一行字符的个数课堂练习课堂练习#includemain()int n=100;while(n)printf(“%d”,n);n-;2.2.在屏幕上从大到小输出在屏幕上从大到小输出100100以内的整数以内的整数程序一程序一#include main()int i,j=1;for(i=1;i=5;i+)printf(%d,i);j+;

36、printf(n*n);printf(j=%dn,j);程序二程序二#include main()int i,j=1;for(i=1;i=5;i+)printf(%d,i);j+;printf(n*n);printf(j=%dn,j);3.3.试比较下列两程序的运行结果试比较下列两程序的运行结果#includemain()char c;int l=0,m=0,n=0;c=getchar();while(c!=n)switch(c)case a:l+;break;case b:m+;break;case c:n+;break;default:;c=getchar();printf(a、b、c出现

37、的次数分别是出现的次数分别是%d、%d、%dn,l,m,n);4.4.检查键盘输入的一行字符中字母检查键盘输入的一行字符中字母a a、b b和和c c出现的次数出现的次数1 1、我国、我国19911991年有年有11.611.6亿人口,要求计算出当人口平均增亿人口,要求计算出当人口平均增长率为每年长率为每年5%5%、2%2%、1%1%时,从时,从19911991年算起经过多少年年算起经过多少年后我国的人口增长到后我国的人口增长到1515亿?亿?2 2、兑换零钱:将、兑换零钱:将1010元钱换成元钱换成5 5角、角、2 2角、角、1 1角(至少各一角(至少各一枚),列出所有可能的方案。枚),列出

38、所有可能的方案。课堂练习课堂练习#includemain()float sum=11.6,x;int year=0;scanf(%f,&x);do sum=sum*(1+x);year+;while(sum=15);printf(“当增长率为当增长率为%4.1f%时,需经过时,需经过%d年人年人 口达到口达到 15亿亿,x*100,year);我国我国19911991年有年有11.611.6亿人口,要求计算出当人口平均增长率亿人口,要求计算出当人口平均增长率为每年为每年5%5%、2%2%、1%1%时,从时,从19911991年算起经过多少年后我国的人口年算起经过多少年后我国的人口增长到增长到1

39、515亿?亿?兑换零钱:将兑换零钱:将1010元钱换成元钱换成5 5角、角、2 2角、角、1 1角(至少各一枚),角(至少各一枚),列出所有可能的方案。列出所有可能的方案。#includemain()int num1,num2,num5,i=1;for(num1=1;num1100;+num1)for(num2=1;num250;+num2)for(num5=1;num520;+num5)if(1*num1+2*num2+5*num5=100)printf(“可能的方案可能的方案%d如下如下:其中其中1角角%d个个,2角角%d个个,5角角%d个个n”,i,num1,num2,num5);i+;

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服