- 1、本文档共30页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[工学]C语言循环结构程序设计2
循环程序设计(2) 循环程序设计 上周内容回顾 While(条件) 循环体 Do{……}while(条件) For(初始化表达式;条件;修正表达式) 循环程序设计 例4:猜数游戏( ch6_004) 编写一道猜数的程序,在程序中预设一个数字,要求用户任意从键盘输入一个价格(数字),由程序在屏幕上给出“高了”或者“低了”的提示,当用户输入数字等于目标数,程序结束。 /*例4:猜数游戏。 ch6_004 */ #define GOAL 648 main() { int data; do { printf(Please input data:\n); scanf(“%d”,data);/*输入任意一个数字到data*/ if (dataGOAL) printf(Its too big,please try again!\n); else if(dataGOAL) printf(Its too small,please try again!\n); else printf(You are right!Bye-bye!); } 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); } 循环程序设计 例6.6 判断m是否素数。 算法: 素数:除了1和自身外不能被其他数整除。 判断方法:测试m能否被2到根号m整除。 为什么不是2到m-1,而是根号m? 一个数m,如果它有约数的话,约数肯定要成对出现,必然有一个大于根号m,另一个小于根号m(显然如果都大于根号m,那相乘结果会大于m)。 根号m的计算方法:利用求平方根的函数sqrt 循环变量:定义为i(整型) 循环变量的范围: 2~k ,k=sqrt(m) (k为整型) 即:i的初值为2,循环执行条件为i=k 循环变量的变化:i++ 重复执行的操作: 如果m能被i整除,则说明m不是素数,也就不需要进行后面的判断,应退出循环结构(用break语句);否则,继续判断。 结果的输出: 如果循环是中途退出的,则i=k,输出m不是素数;否则,m是一个素数。 例6.6 程序 #includestdio.h #includemath.h main( ) { int i,m,k; scanf(%d,m); k=(int)sqrt(m); for(i=2;i=k;i++) if(m%i==0) break; if(i=k) printf(%d不是一个素数\n,m); else printf(%d是一个素数\n,m); } 循环程序设计 算法2:迭代。不断用新
您可能关注的文档
- [工学]CAD中文版系列综合培训教程PPT格式01.ppt
- [工学]CH02关系数据库.pdf
- [工学]cad二次开发第7章.ppt
- [工学]c6图像复原.ppt
- [工学]CH02机械原理教案.ppt
- [工学]Ch1 会计银行 总论.ppt
- [工学]CAXA教案.doc
- [工学]ch1 光纤传输理论.pdf
- [工学]CH1 数字逻辑基础孔敏.ppt
- [工学]ch1-软件与软件工程.ppt
- 专题06 经济体制(我国的社会主义市场经济体制)-五年(2020-2024)高考政治真题分类汇编(解析版).docx
- 专题11 世界多极化与经济全球化-5年(2020-2024)高考1年模拟政治真题分类汇编(解析版).docx
- 专题03 经济发展与社会进步-5年(2020-2024)高考1年模拟政治真题分类汇编(浙江专用)(解析版).docx
- 专题09 文化传承与文化创新-5年(2020-2024)高考1年模拟政治真题分类汇编(北京专用)(原卷版).docx
- 5年(2020-2024)高考政治真题分类汇编专题08 社会进步(我国的个人收入分配与社会保障)(原卷版).docx
- 专题07 探索世界与把握规律-5年(2020-2024)高考1年模拟政治真题分类汇编(解析版).docx
- 5年(2020-2024)高考政治真题分类汇编专题06 经济体制(我国的社会主义市场经济体制)(原卷版).docx
- 专题11 全面依法治国(治国理政的基本方式、法治中国建设、全面推进依法治国的基本要求)-五年(2020-2024)高考政治真题分类汇编(解析版).docx
- 专题17 区域联系与区域协调发展-【好题汇编】十年(2015-2024)高考地理真题分类汇编(解析版).docx
- 专题01 中国特色社会主义-5年(2020-2024)高考1年模拟政治真题分类汇编(原卷版).docx
最近下载
- 耳鼻咽喉头颈外科学教学大纲.pdf
- nektar整合程序使用说明书.pdf
- 初中《阳光学业评价》英语八年级上册(含答案).pdf VIP
- AQT 2074-2019 金属非金属矿山在用设备设施安全检测检验报告通用要求.pdf VIP
- Joyoung九阳豆浆机DJ13B-D88SG使用说明书.pdf VIP
- 期末综合素质达标(试卷)-2024-2025学年统编版语文三年级上册.docx VIP
- 国开《小学数学课程标准与教材研究》形考1-4答案.docx
- 课题申报书:技术支持的教师专业成长路径与发展模式研究.pdf VIP
- 轮状病毒性肠炎.ppt VIP
- 六年级上册数学试题-第五单元 圆 测试卷-北京版(含答案).doc VIP
文档评论(0)