- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
4_2-循环结构程序设计
循环结构的应用场合 while for 注意 在for和while语句之后一般没有分号 有分号表示循环体就是分号之前的内容,即循环体不存在 while (i 100); i++; for (i = 0; i 100; i++); printf(%d, i); for通常有一个循环变量控制循环的次数,不要在循环体内改变这个变量 do-while 选择三种循环的一般思路 如果循环次数已知,用for 如果循环次数未知,用while 如果循环体至少要执行一次,用do-while 只是思路,不是定律 死循环 永远不会退出的循环为死循环 for ( ; ; ) { } while (1) { } do { } while (1) 除非确实需要死循环,否则不要使用这样的形式。它们使循环的中止条件变得不明朗 一般情况下,要极力避免死循环 绝大多数程序不需要死循环。如果出现,往往都是bug 时间过长的循环会造成“假死”现象,也要考虑解决 循环型程序设计方法 循环是计算机解题的一个重要特征。 计算机运行速度快,最适合用于重复性的工作。在程序设计时,人们也总是把复杂的不易理解的求解过程转换为易于理解的操作的多次重复。 一方面可以降低问题的复杂性,减低程序设计的难度,减少程序书写及输入的工作量; 另一方面可以充分发挥计算机运算速度快、能自动执行程序的优势。 在循环算法中,枚举法(穷举法)与归纳法(递推法)是两类具有代表性的基本应用。 1. 枚举法(穷举法) 百元买百鸡问题分析 百元买百鸡问题分析 【例二】 求100~200之间不能被3整除也不能被7整除的数。 分析:求某区间内符合某一要求的数,可用一个变量“穷举”。所以可用一个独立变量x,取值范围100~200。 2. 归纳法(递推法) 国王的许诺 相传国际象棋是古印度舍罕王的宰相达依尔发明的。舍罕王十分喜欢象棋,决定赏赐宰相,并让宰相自己选择何种赏赐。这位聪明的宰相指着8×8共64格的象棋盘说:陛下,请您赏给我一些麦子吧,就在棋盘的第一个格子中放1粒,第2格中放2粒,第3格放4粒,以后每一格都比前一格增加一倍,依此放完棋盘上的64个格子,我就感恩不尽了。舍罕王让人扛来一袋麦子,他要兑现他的许诺。 国王能兑现他的许诺吗?试编程计算舍罕王共要多少麦子赏赐他的宰相,这些麦子合多少立方米?(已知1立方米麦子约1.42e8粒) 总粒数为:sum=1+2+22+23+…+263 方法1 #define CONST 1.42e8 #include stdio.h #include math.h main( ) { int n; double term, sum = 0; /*累加求和变量赋初值*/ for (n=1; n=64; n++) {term = pow(2, n-1) ;/*根据累加项的规律计算累加项 */ sum = sum + term; /*作累加运算*/ } printf(sum = %e\n, sum); /*打印总麦粒数*/ printf(volum = %e\n, sum/CONST); /*打印折合的总麦粒体积数*/ } 方法2 #define CONST 1.42e8 #include stdio.h main( ) {int n; double term=1,sum=1; /*累乘求积、累加求和变量赋初值*/ for (n=2; n=64; n++) { term = term * 2; /*根据后项总是前项的2倍计算累加项*/ sum = sum + term; /*作累加运算*/ } printf(sum = %e\n, sum); /*打印总麦粒数*/ printf(volum = %e\n, sum/CONST); /*打印折合的总麦粒体积数*/ } 6.4 6.9 6.10 算法的概念 数据结构 + 算法 = 程序 简言之,算法是一种抽象的解决问题的策略。 算法——测试素数 素数(prime):如果一个正整数n只能被1和它本身整除,则n就是素数。 算法——计算最大公约数 最大公约数(GCD,greatest common divisor): 给出两个数x和y,其最大公约数是能够同时被两个数整除的最大数。 例如:49和35的GCD是7,6和18的GCD是6。 算法的表示方法 算法的自然语言表示法 传统流程图中常用的符号 N-S结构化流程图表示 现场编程完成“猜数游戏” 先由计算机“想”一个1到100之间的数请人猜。如果人猜对了,则结束游戏;否则计算机给出提示,告诉人所猜的数是太大还是太小,直到人
您可能关注的文档
- 03自主招生基础汇编.doc
- 112圆柱、圆锥、圆台.ppt
- 11601回风巷启封密闭瓦斯排放安全技术措施.doc
- 11基于公司价值的股利理论及其政策的j教学设计研究.doc
- 11我国现行税收制度.ppt
- 11、17养老院活动策划.doc
- 11第4章存货核算.ppt
- 12-13-1学校工作制度.doc
- 12 编程过程2.ppt
- 129活动冬季长跑运动会活动方案.doc
- 主题课程整理大班上.doc
- 2026人教版小学语文三年级上册期末综合试卷3套(打印版含答案解析).docx
- 2026人教版小学语文四年级下册期末综合试卷3套(打印版含答案解析).docx
- 2026人教版小学二年级上册数学期末综合试卷精选3套(含答案解析).docx
- 2026人教版小学语文四年级上册期末综合试卷3套(含答案解析).docx
- 2026人教版小学二年级下册数学期末综合试卷3套(打印版含答案解析).docx
- 2026年地理信息行业年终总结汇报PPT.pptx
- 板块四第二十一单元封建时代的欧洲和亚洲 中考历史一轮复习.pptx
- 中考历史一轮复习:板块四第二十单元古代亚、非、欧文明+课件.pptx
- 第二次工业革命和近代科学文化中考历史一轮复习.pptx
原创力文档


文档评论(0)