第4章循环控制内容摘要:

读入一个值  如果读入值与标志值相等,则退出循环  执行在读入那个特定值情况下需要执行的语句  当一个循环中有一些操作必须在条件测试之前执行时,称为循环的中途退出问题。 《 程序设计 》 程序设计 21 问题  由于循环语句是先判断条件再决定是否执行循环体,循环的中途退出将使得循环体中的某些语句必须重复出现。  基于标志的循环结构被改为:  读入一个值  While (读入值与标志值不相等) { 执行在读入那个特定值情况下需要执行的语句 读入一个值 } 《 程序设计 》 程序设计 22 解决方案  break语句:跳出循环  上述问题可以用下列方案解决: while (true) { 提示用户并读入数据 if (value==标志 ) break。 根据数据作出处理 }  continue语句:跳出当前循环周期 《 程序设计 》 程序设计 23 第 4章 循环控制 重复 N次循环 While循环 Do … while 循环 循环的中途退出 枚举法 贪婪法 《 程序设计 》 程序设计 24 枚举法  对所有可能的情况一种一种去尝试,直到找到正确的答案。  枚举法的实现基础是循环。 《 程序设计 》 程序设计 25 枚举法实例一  用 50元钱买了三种水果。 各种水果加起来一共 100个。 西瓜 5元一个,苹果 1元一个,桔子 1元 3个,设计一程序输出每种水果各买了几个  它有两个约束条件:  第一是三种水果一共 100个;  第二是三种水果一共花了 50元  可以按一个约束条件列出所有可行的情况,然后对每个可能解检查它是否满足第二个约束条件。 也可以用第二个约束条件列出所有情况,然后对每个可能解检查它是否满足第一个约束条件。 《 程序设计 》 程序设计 26 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*(505*mellonapple)。 // 剩下的钱全买了桔子 if (mellon+apple+orange == 100){ // 三种水果数之和是否为 100 cout mellon: mellon 39。 39。 cout apple: apple 39。 39。 cout orange: orange endl。 } } return 0。 } 《 程序设计 》 程序设计 27 执行结果 Mellon: 1 apple: 18 orange: 81 Mellon: 2 apple: 11 orange: 87 Mellon: 3 apple: 4 orange: 93 《 程序设计 》 程序设计 28 实例二 — 四大湖问题 上地理课时,四个学生回答我国四大湖的大小时分别说: 甲:洞庭最大,洪泽最小,鄱阳第三 乙:洪泽最大,洞庭最小,鄱阳第二,太湖第三 丙:洪泽最小,洞庭第三 丁:鄱阳最大,太湖最小,洪泽第二,洞庭第三 对于每个湖的大小,每个人仅答对一个,设计一程序让计算机通过这些信息去判别四个湖的大小。 《 程序设计 》 程序设计 29 解题思路  如果 用 a,b,c,d分别表示四个湖的排序。 a表示洞庭湖,b表示洪泽湖, c表示鄱阳湖, d表示太湖。 我们可以假设: 洞庭最大,洪泽第二,鄱阳第三,太湖第四,然后检查每位同学是否都讲对了一个。 如。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。