- 1、本文档共22页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第5讲 循环程序设计(二).ppt
循环结构程序设计(二) 程序阅读 程序阅读 循环的嵌套 一个循环体中包含另一个循环结构,称为循环嵌套。内嵌的循环中还可以再嵌套循环,构成多重循环。 while、do…while、for语句可以互相嵌套 程序阅读 4.3.1 程序解析-判断素数 算法:除了1和m,不能被其它数整除。 设 i 取值 [2, m-1] 如果m不能被该区间上的任何一个数整除,即对每个i,m%i 都不为0,则m是素数 只要找到一个i,使m%i为0,则m肯定不是素数 m %2 %3 %4 %5 %(m-1) 不是素数 || =0 =0 是素数 !=0 !=0 m不可能被大于 m/2 的数整除 i 取值 [2, m-1] 、 [2, m/2] 、 [2, ] 判断一个数是否是素数 break语句 在switch语句中使用break语句跳出switch结构 在while、do…while、for语句中使用break语句跳出循环结构 只能在以上4种语句中使用break语句 break语句 只能结束break语句所在的循环 要全部结束多层循环,可以设置一个标志变量逐层结束。 ……;flag=0; while(){ while(){ …… if() {flag=1; break;} } …… if(flag==1) break; } 例:求100~200间所有素数 100~200要逐个判断,需要循环结构; 对于每个数判断是否是素数,需要循环结构; 两个循环结构嵌套形成双重循环。 例:求不定方程的解 对x,y,z分别作循环,构成三重循环 在最内层循环检验方程是不成立,若成立就输出该组解 例:求不定方程的某组解 对x,y,z分别作循环,构成三重循环 在最内层循环检验方程是不成立,若成立就输出该组解 当找到符合条件的解后,要设立标志,逐层退出循环 例5_8 将1~1000中不能被7整除的数进行求和 continue语句 结束本次循环,跳过循环体中其他语句,接着进行下一次是否循环的判定。 break语句与continue语句的区别:continue语句结束本次循环,break语句结束整个循环。continue语句只用于循环结构中。 例:输出控制 打印一个10×10的∈随机两位正整数方阵。 双重循环结构: 外循环控制行数 内循环控制每行个数(在下一行开始前注意换行) int rand(void)函数:随机产生[0,32767]的整数 void srand(unsigned seed)函数:初始化调用rand函数生成连续值的伪随机数生成器。例: srand(time(NULL)); x=rand()%(n-m+1)+m; ∈[m,n] x=(float)rand()*(n-m+1)/32767+m; ∈[m,n] 兴趣题:猜数游戏 先用随机函数产生一个[0,100]的数A 做一个无穷循环作以下步骤: 从标准输入读入用户输入的数 当用户输入的数大于A时,提示用户输入太大 当用户输入的数大于A时,提示用户输入太小 当用户输入的数等于A时,提示用户输入正确,退出循环,并告诉用户猜数的次数 练习:打印金字塔 打印九九乘法表 一共要打9行,循环控制:for(i=1;i=9;i++) 每行要打i个表达式,循环控制:for(j=1;j=i;j++) 打印:printf(%d*%d=%d ,j,i,i*j); 进行下一行时要换行:printf(\n); 循环结构综合举例 打印Fibonacci数列 1,1,2,3,5,8,…… 第3项起等于前两项之和 文字加密 字母转为后5个字母 非字母不变 求解百鸡问题。已知公鸡每只5元、母鸡每只3元、小鸡1元3只。求出用100元买100只鸡的解,共有多少解,哪些解 实验7-1 计算:1!+2!+3!+4!+...+20! 如果有求阶乘的运算符或函数,问题将很简单,就是多项式求和。用循环完成。 由于没有阶乘的运算符和函数,必须自己编写计算阶乘的程序片段,也要用循环完成。 也可以用递推式直接求阶乘 实验7-2 猴子吃桃问题。猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。问原来有多少桃子。 倒推法:最后一天是1个,然后倒数第2天变成几个,就是4个,因为每次吃掉一半,再多吃一个就是s=2*(s+1)。…… 实验7-3 编程实现图形打印。 提示:分成上下两部分。 * * #includestdio.h int main()
您可能关注的文档
最近下载
- 北京商圈分析报告.pdf
- 2023年11月深圳市福田区公开选用机关事业单位辅助人员和社区专职工作者笔试历年(2016-2023年)真题荟萃带答案解析.pdf VIP
- 2024秋(人教版)英语七年级上册:单词表 汇总表.pdf
- 2022年通信工程师中级传输与接入(无线)真题及答案.pdf
- 第二章一元二次函数、方程和不等式教学设计(全章).docx
- 国家开放大学《电子商务概论》1-9章 形考任务阶段测验1、2答案(无错版本)82295 .pdf VIP
- 江苏省普通高校“专转本”选拔考试管理专业大类专业综合操作技能考试大纲.docx
- 银行开展减费让利宣传活动的总结范文(30篇).docx VIP
- 美育——美即生活-期末复习-题库-试卷.docx
- 预定动作时间标准法(PTS).doc VIP
文档评论(0)