3_3 循环结构程序设计2.pptVIP

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

循环程序设计(2) 循环程序设计 上周内容回顾 While(条件) 循环体 Do {……} while(条件) For(初始化表达式;条件;修正表达式) 循环程序设计 例4:猜数游戏( ch6_004) 编写一道猜数的程序,在程序中预设一个数字,要求用户任意从键盘输入一个价格(数字),由程序在屏幕上给出“高了”或者“低了”的提示,当用户输入数字等于目标数,程序结束。 #include “stdio.h” /*例4:猜数游戏。 ch6_004 */ #define GOAL 648 void main() { int data; do { } while (data!=GOAL); } break语句和continue 1.break语句 2、continue 语句 #include stdio.h void main() {int a, b; for(a=1,b=1; a=10; a++) {if(b=10) break; if(b%3==1) {b+=3; continue;} } printf(%d\n,a); } 循环程序设计(循环嵌套) 例7:打印如下所示等腰三角形() * *** ***** ******* ********* 循环程序设计(循环嵌套) 循环嵌套 在循环体语句中又包含有另一个完整的循环结构的形式,称为循环的嵌套。如果内部的循环体中又有嵌套的循环语句,则构成多重循环。 循环嵌套 例8ch6_008 :百钱买百鸡。(鸡翁一值钱五,鸡母一值钱3,鸡雏三值钱一。百钱买百鸡,问鸡翁、鸡母、鸡雏各几何? 循环嵌套 枚举或穷举算法:按问题本身的性质,一一列举出该问题所有可能的解,并在逐一列举的过程中,检验每个可能解是否是问题的真正解,若是,我们采纳这个解,否则抛弃它。对于所列举的值,既不能遗漏也不能重复。 循环嵌套 例 、搬砖问题:36块砖,36人搬,男搬4,女搬3,两个小孩抬一块砖。要求一次全搬完,问男、女、小孩各若干? 循环程序设计 使用枚举法,主要掌握两条原则: 1、确定搜索范围。 2、选择搜索策略。 搜索策略选择得好坏,直接决定程序的工作量的大小。 循环程序设计 请思考下面程序的功能,并思考怎样改变搜索策略或搜索范围,可以提高程序的效率。 main() {int m=7;n=5;i=1; do {if(i%m==0) if(i%n==0) {printf(“%d\n”,i); break;} i++;} while (i!=0); } 循环程序设计 例10: CH6_010 :验证素数: 数学定义:看在2——n-1中能否找到一个整数m能将n整除,若m存在,则n不是素数;若找不到m,则n为素数。 循环程序设计 算法2:迭代。不断用新值取代变量的旧值或由旧值递推出变量的新值的过程。 循环程序设计 迭代与下列因素有关: 循环程序设计 例12 ch6_012 求2个非负整数的最大公约数。 例ch6_012求2个非负整数的最大公约数。 #include “stdio.h” void main() {int u, v,r; scanf(“%d%d”,u,v); while (v != 0) { r=u%v; u=v; v=r; } printf(“%d\n”,u); } 循环的第2次作业 Xunhuan05:有一分数序列,2/1+3/2+5/3+8/5+13/8+21/12……求出这个数列的前20项之和 Xunhuan06:一位卡车司机违反交通规则,撞死了行人。当时有三位目击者,都没有看清卡车的牌照号码,只记住了牌照的某些特征:甲记住前两个数字是相同的,乙记住牌照的后两位数字是相同的,丙是一位数学家,他说:“牌照号码肯定是一个四位数,并且这个四位数恰好是一个整数的平方。”根据这些,你能否正确判断出牌照号码? Xunhuan07:打印由*号构成的菱形。 单元测试 1、指出下列程序的运行结果: main() {int x=1,i=1; for ( ;x50;i++) {if(x=10) break; if(x%2!=0) {x+=3; continue;} x-=1; } printf(“%d\n”,x); printf(“%d\n”,i); } * * 输入一个数字data Datagoal? 输出提示信息: 高了,请重新输入 D

文档评论(0)

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

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

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档