- 1、本文档共41页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第3章 结构化程序的设计
其它简单控制结构 continue语句 continue语句使用的形式 continue; continue语句的使用范围 continue语句只能用在循环结构中 continue语句的功能 提前结束本次循环体的执行过程而直接进入下一次循环 例3-19 编程序实现功能:检测从键盘上输入的以换行符结束的字符流,统计非字母字符的个数。 其它简单控制结构 goto语句和标号语句 goto语句是无条件转移语句,其一般形式为: goto 语句标号; goto语句的功能 将程序的控制流程无条件地转移到语句标号所指的标号语句处。 标号语句 标识符加上冒号表示,其定义规则同变量,即由字母、数字和下划线组成且第一个字符必须是字母或下划线。 goto语句的转移限制 不允许在一个函数中使用goto语句将程序控制转移到本函数之外。 例3-20 利用goto语句构成循环结构求1到100的整数之和。 结构化程序设计 程序控制结构中的条件表示 分支程序结构 循环程序结构 其它简单控制结构 控制结构的简单应用 控制结构的简单应用 最大公约数和最小公倍数(辗转相除法) 求两个非负整数m和n(mn)的最大公约数可以使用辗转相除法。其算法可以描述为: ①m除以n得到余数r(0≤r<n)。 ②若r=0则算法结束,n为最大公约数。否则执行③。 ③m←n,n←r,转回到①。 当已知两个非负整数m和n的最大公约数后,求其最小公倍数的算法可以简单描述为:两个正整数之积除以它们的最大公约数。 例3-21 求两个正整数的最大公约数和最小公倍数(用辗转相除法)。 控制结构的简单应用 穷举思想和穷举方法的实现 穷举的概念 有许多问题的解“隐藏”在多个的可能之中。穷举就是对多种可能的情形一一测试,从众多的可能中找出符合条件的(一个或一组)解,或者无解的结论。在一个集合内对集合中的每一个元素进行一一测试的方法称为穷举法。穷举本质上就是在某个特定范围中的查找,是一种典型的重复型算法,其重复操作(循环体)的核心是对问题的一种可能状态的测试。 穷举所依赖的基本要素 搜寻可能值的范围如何确定 被搜寻可能值的判定方法 控制结构的简单应用 穷举思想和穷举方法的实现 穷举引例分析 搬砖问题:36块砖,36人搬,男搬4,女搬3,两个小孩抬1砖。要求将所有的砖一次搬完,问需要男、女、小孩各多少? 被搜寻值判断方法 设男、女、小孩的数量分别为man,woman,children,则可以得到被搜寻值的判定方法 4*man+3*woman+0.5*children=36 搜寻的范围的确定 man:1~36/4; woman:1~36/3; children:2~72(必须是偶数) 控制结构的简单应用 穷举思想和穷举方法的实现 利用条件变换搜寻范围的表示 man:1~36/4; woman:1~36/3; children=36-man-woman children%2==0 男性数量变化下问题的求解框架 for(man=1;man(36/4),man++) { S1:找到满足两个方程的解的woman和children S2:输出一组解; } 控制结构的简单应用 穷举思想和穷举方法的实现 女性数量变化下问题的求解框架(对S1的求精) for(woman=1;woman(36/3);woman++) { S1.1:找到满足方程的一个children的解 S1.2:输出一组解 } S1.1的进一步求精 children=36-man-woman S1.2的进一步求精 if((4*man+3*woman+0.5*children)==36) 按要求输出man、woman、children值 控制结构的简单应用 穷举思想和穷举方法的实现 #includestdio.h void main() { int man,woman,children; for(man=1;man9;man++) for(woman=1;woman12;woman++) { children=36-man-woman; if(4*man+3*woman+0.5*children==36) printf(man=%d woman=%d children=%d\n, man,woman,children); } } 例3-22 搬砖问题。 例3-23 编程求100以内的勾股数组。勾股数组是指满足a2+b2=c2的正整数(a,b,c)就叫做一组勾股数组。例如32+42=52,所以(3,4,5)是一组勾股数组
您可能关注的文档
- 站房工程冬季施工的方案.doc
- 竞争性与非竞争性——政府部门高教经费投入的一个分析框架.doc
- 竖井延伸工程施工组织的设计.doc
- 竞争性谈判文件 的项目编号GCZC2009071 的项目名称高淳职教中心校网络 ....doc
- 立顿立雅茶8周享瘦活动的的策划案.ppt
- 立顿红茶网络推广的的策划的方案.ppt
- 立二拆四的案例分享.ppt
- 窗体对象界面的设计.ppt
- 竞争情报管理解决的方案介绍.doc
- 立思辰拟发行股份购买上海友网科技有限公司股权的项目资产评估的报告.ppt
- 人教版九年级英语全一册单元速记•巧练Unit13【速记清单】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit9【速记清单】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit11【速记清单】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit14【单元测试·提升卷】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit8【速记清单】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit4【单元测试·提升卷】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit13【单元测试·基础卷】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit7【速记清单】(原卷版+解析).docx
- 苏教版五年级上册数学分层作业设计 2.2 三角形的面积(附答案).docx
- 人教版九年级英语全一册单元速记•巧练Unit12【单元测试·基础卷】(原卷版+解析).docx
文档评论(0)