循环语句小结.pptVIP

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
循环语句小结

循环语句小结 两种常用算法 循环中的几种变量 程序的正确性与循环不变式 1、两种算法之一 ——穷举法 穷举法典型例题 1、有一堆零件在(100-200)之间,如果4个零件分为一组,则多余2个零件,7个一组多余3个,9个一组多余5个,求共有多少个零件。 2、36块砖,36人搬家,男搬4,女搬3,两个小孩抬一砖,要求一次全搬完,试问男女小孩各若干? 3、水仙花数。如371 = 33 + 73+ 13 5、素数问题 6、最大公约数问题。 穷举法范式 穷举法要素:问题解的数学公式 程序结构: 循环语句+条件语句 for(循环变量初值;结束条件;增值) { if(条件) 语句; } 循环语句的计时 C标准库有几个与时间有关的函数 头文件 #include time.h 程序内部计时,使用如下表达式(单位为秒) clock()/CLK_TCK ( ANSI87 标准) clock()/CLOCKS_PER_SEC (ANSI99) Tc2.0遵循87标准。 测试最大公约数之穷举法 1、两种算法之二——迭代法 典型例题: 1、斐波那契数列。 2、最大公约数问题——欧几里得算法(辗转相除法) 迭代法范式 迭代法三要素(由对迭代的元操作分析确定) 确定迭代变量 建立迭代公式 迭代的结束条件 循环语句+迭代公式(递推公式) While(循环条件) { 迭代公式 } 2、循环中的几种变量 循环控制变量 2. 累积变量:每次循环被更新,更新常用诸如 +=,*=一类运算符。 3 . 递推变量(迭代变量) 4. 计数器变量(记录满足某条件的个数) 3、程序的正确性和循环不变式 循环不变式定义: 在写循环时,最需要考虑的是一些变量之间的关系,并设法保证这些关系在循环体当中保持不变,这一类关系被称为循环不变式。循环不变式保证了循环的正确性。 如斐波那契数列,就需要保持f3和i之间关系: 保证每次计算出f3时,f3的值恰好是第i个斐波那契数。 操作技法:通过单步调试来跟踪变量f3,i * 穷举:对所有可能状态一一测试,直到找到解或 所有状态测试完。 迭代法:不断用变量新值取代旧值,或由旧 值推出变量的新值的过程。 #include stdio.h void main( ) { int i,sum=0; for(i=1;i=100;i++) sum+=i; printf(%d,sum); } #include stdio.h void main( ) { int i,sum=0; for(i=1;i=100;i++) sum+=i; printf(%d,sum); } #include stdio.h void main( ) { int i,fac=1; for(i=1;i=10;i++) fac*=i; printf(%d,fac); } #include stdio.h void main() { long int f1,f2,f3; int i; f1=1; f2=1; for(i=3;i=20;i++) { f3 = f1+f2; f1 = f2; f2 = f3; } printf(“%ld”,f3); } #include stdio.h void main() { int i,num=0,a; float sum=0; for(i=0;i10;i++) { scanf(%d,a); if(a=0) continue; num++; sum+=a; } printf(%d plus integers sum :%6.0f\n,num,sum); printf(Mean value:%6.2f\n,sum/num); } 例 求输入的十个整数中正数的个数及其平均值 *

文档评论(0)

qwd513620855 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档