- 1、本文档共51页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
ch04 循环控制
解决方案 break语句:跳出循环 上述问题可以用下列方案解决: while (true) { 提示用户并读入数据 if (value==标志) break; 根据数据作出处理 } continue语句:跳出当前循环周期 第4章 循环控制 重复N次循环 while循环 do … while循环 循环的中途退出 枚举法 贪婪法 枚举法 对所有可能的情况一种一种去尝试,直到找到正确的答案。 枚举法的实现基础是循环。 枚举法实例一 用50元钱买了三种水果。各种水果加起来一共100个。西瓜5元一个,苹果1元一个,桔子1元3个,设计一程序输出每种水果各买了几个 它有两个约束条件: 第一是三种水果一共100个; 第二是三种水果一共花了50元 可以按一个约束条件列出所有可行的情况,然后对每个可能解检查它是否满足第二个约束条件 。也可以用第二个约束条件列出所有情况,然后对每个可能解检查它是否满足第一个约束条件 。 #include iostream using namespace std; int main() { int mellon, apple, orange; //分别表示西瓜数、苹果数和桔子数 for (mellon=1; mellon10; ++mellon) // 对每种可能的西瓜数 for ( apple=1; apple 50 - 5 * mellon; ++apple) { //当西瓜数给定后可能的苹果数 orange = 3*(50-5*mellon-apple); // 剩下的钱全买了桔子 if (mellon+apple+orange == 100){ // 三种水果数之和是否为100 cout mellon: mellon ; cout apple: apple ; cout orange: orange endl; } } return 0; } 执行结果 Mellon:1 apple:18 orange:81 Mellon:2 apple:11 orange:87 Mellon:3 apple:4 orange:93 实例二 — 四大湖问题 上地理课时,四个学生回答我国四大湖的大小时分别说: 甲:洞庭最大,洪泽最小,鄱阳第三 乙:洪泽最大,洞庭最小,鄱阳第二,太湖第三 丙:洪泽最小,洞庭第三 丁:鄱阳最大,太湖最小,洪泽第二,洞庭第三 对于每个湖的大小,每个人仅答对一个,设计一程序让计算机通过这些信息去判别四个湖的大小。 解题思路 如果用a,b,c,d分别表示四个湖的排序。a表示洞庭湖,b表示洪泽湖,c表示鄱阳湖,d表示太湖。我们可以假设:洞庭最大,洪泽第二,鄱阳第三,太湖第四,然后检查每位同学是否都讲对了一个。如果不是,再尝试下一种情况:洞庭最大,洪泽第二,鄱阳第四,太湖第三,再检查每位同学是否都讲对了一个。尝试所有可能的情况,直到满足每位同学都讲对一个为止。 枚举法—续 为了尝试所有情况,我们需要假设洞庭湖可能是最大,也可能是第二、第三或第四。因此,a的值可能从1变到4。同样,b, c ,d的值也都可能从1变到4。为此,我们需要一个控制结构,使a, b, c, d的值能自动从1变到4。这种结构就是循环结构。 四大湖排列问题的解 main() { int a, b, c, d; for (a=1; a=4; ++a) for (b=1; b=4; ++b) if ( a == b) continue; else for (c=1; c=4; ++c) if (c==a||c==b) continue; else {d=10 – a – b - c; if (((a==1)+(b==4)+(c==3))==1 ((b==1)+(a==4)+(c==2)+(d==3))==1 ((b==4)+(a==3))==1 ((c==1)+(d==4)+(b==2)+(a==3))==1) cou
您可能关注的文档
- BY-鲁班创优方案.docx
- C primer plus(第五版)课后编程练习答案.doc
- C++(朱立华)-第01章-概述.ppt
- C++第03章基本数据类型与基本运算.ppt
- C++ 6 Class and Object.ppt
- C++设计模式第一讲.ppt
- b第一节元素周期表(上课正式).ppt
- C++设计模式第四讲.ppt
- C++课件 第13章 多态性.ppt
- C++课件 ch01.ppt
- 2025年中山市沙溪镇人民政府所属事业单位招聘11人笔试备考题库及参考答案详解一套.docx
- 2025年中山市横栏镇人民政府所属事业单位第二期招聘笔试高频难、易错点备考题库及参考答案详解一套.docx
- 2025年中山市横栏镇人民政府所属事业单位第二期招聘笔试高频难、易错点备考题库含答案详解.docx
- 2025年中山市阜沙镇人民政府所属事业单位招聘笔试高频难、易错点备考题库及完整答案详解1套.docx
- 2025年中山市阜沙镇人民政府所属事业单位招聘笔试高频难、易错点备考题库参考答案详解.docx
- 2025年中山市阜沙镇人民政府所属事业单位招聘笔试备考题库附答案详解.docx
- 2025年中山市阜沙镇人民政府所属事业单位招聘笔试高频难、易错点备考题库附答案详解.docx
- 2025年中山市阜沙镇人民政府所属事业单位招聘笔试备考题库附答案详解.docx
- 2025年中山市阜沙镇人民政府所属事业单位招聘笔试备考题库及答案详解一套.docx
- 2025年中山市阜沙镇人民政府所属事业单位招聘笔试备考题库及完整答案详解1套.docx
文档评论(0)