最新嵌套循环和循环综合PPT课件.ppt

上传人:豆**** 文档编号:59525130 上传时间:2022-11-10 格式:PPT 页数:32 大小:1.03MB
返回 下载 相关 举报
最新嵌套循环和循环综合PPT课件.ppt_第1页
第1页 / 共32页
最新嵌套循环和循环综合PPT课件.ppt_第2页
第2页 / 共32页
点击查看更多>>
资源描述

《最新嵌套循环和循环综合PPT课件.ppt》由会员分享,可在线阅读,更多相关《最新嵌套循环和循环综合PPT课件.ppt(32页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、嵌套循环和循环综合2回顾回顾 循环的分类循环的分类循环的分类循环的分类当型循环当型循环当型循环当型循环直到型循环直到型循环直到型循环直到型循环 循环的循环的循环的循环的3 3 3 3种基本表示种基本表示种基本表示种基本表示while(表达式表达式)循环体循环体do循环体循环体while(表达式表达式);2022/11/93456789打印图案一打印图案一voidmain()voidmain()inti,j;inti,j;charstar=*;charstar=*;for(i=1;i=4;i+)for(i=1;i=4;i+)for(j=1;j=4;j+)for(j=1;j=4;j+)printf

2、printf(%c,star(%c,star););printf(printf(nn););*2022/11/9voidmain()voidmain()intinti,ji,j;/*内外层循环变量保持不同名内外层循环变量保持不同名内外层循环变量保持不同名内外层循环变量保持不同名*/*/charspace=,star=*;charspace=,star=*;for(i=1;for(i=1;i=4i=4;i+);i+)if(i4)printf(%*c,4-i,space);if(i4)printf(%*c,4-i,space);for(j=1;for(j=1;j=2*i-1j=2*i-1;j+);

3、j+)printfprintf(%c,star%c,star);printf(printf(nnnn););打印图案二打印图案二*2022/11/911使用嵌套的循环体时,应注意以下问题使用嵌套的循环体时,应注意以下问题 在嵌套的各层循环体中,使用复合语句(即用一对在嵌套的各层循环体中,使用复合语句(即用一对在嵌套的各层循环体中,使用复合语句(即用一对在嵌套的各层循环体中,使用复合语句(即用一对大花括号将循环体语句括起来)保证逻辑上的正确大花括号将循环体语句括起来)保证逻辑上的正确大花括号将循环体语句括起来)保证逻辑上的正确大花括号将循环体语句括起来)保证逻辑上的正确性性性性 内层和外层循环控

4、制变量不应同名,以免造成混乱内层和外层循环控制变量不应同名,以免造成混乱内层和外层循环控制变量不应同名,以免造成混乱内层和外层循环控制变量不应同名,以免造成混乱 嵌套的循环最好采用右缩进格式书写,以保证层次嵌套的循环最好采用右缩进格式书写,以保证层次嵌套的循环最好采用右缩进格式书写,以保证层次嵌套的循环最好采用右缩进格式书写,以保证层次的清晰性的清晰性的清晰性的清晰性 循环嵌套不能交叉,即在一个循环体内必须完整的循环嵌套不能交叉,即在一个循环体内必须完整的循环嵌套不能交叉,即在一个循环体内必须完整的循环嵌套不能交叉,即在一个循环体内必须完整的包含着另一个循环包含着另一个循环包含着另一个循环包含

5、着另一个循环 2022/11/912 有有有有3030个人,其中有男人、女人和小孩,在一家个人,其中有男人、女人和小孩,在一家个人,其中有男人、女人和小孩,在一家个人,其中有男人、女人和小孩,在一家饭馆吃饭共花了饭馆吃饭共花了饭馆吃饭共花了饭馆吃饭共花了5050先令,每个男人各花先令,每个男人各花先令,每个男人各花先令,每个男人各花3 3先令、先令、先令、先令、每个女人各花每个女人各花每个女人各花每个女人各花2 2先令,每个小孩各花先令,每个小孩各花先令,每个小孩各花先令,每个小孩各花1 1先令,问先令,问先令,问先令,问共有几个男人、女人、小孩共有几个男人、女人、小孩共有几个男人、女人、小孩

6、共有几个男人、女人、小孩马克思手稿中的数学问题马克思手稿中的数学问题2022/11/913voidmain()intx,y,z;for(x=0;x=16;x+)for(y=0;y=25;y+)z=30-x-y;if(3*x+2*y+z)=50)printf(“men=%d,women=%d,childs=%dn”,x,y,z);2022/11/914编写结构良好的程序编写结构良好的程序 采用采用采用采用“自顶向下、逐步求精自顶向下、逐步求精自顶向下、逐步求精自顶向下、逐步求精”的思想的思想的思想的思想 结构化程序的特点:结构化程序的特点:结构化程序的特点:结构化程序的特点:只有一个入口;只有一

7、个入口;只有一个入口;只有一个入口;只有一个出口;只有一个出口;只有一个出口;只有一个出口;无死语句,即不存在永远都执行不到的语句;无死语句,即不存在永远都执行不到的语句;无死语句,即不存在永远都执行不到的语句;无死语句,即不存在永远都执行不到的语句;无死循环,即不存在永远都执行不完的循环。无死循环,即不存在永远都执行不完的循环。无死循环,即不存在永远都执行不完的循环。无死循环,即不存在永远都执行不完的循环。示例:判断某数是否是素数示例:判断某数是否是素数示例:判断某数是否是素数示例:判断某数是否是素数2022/11/915素数问题素数问题 从键盘上输入一个数,编程判断该数是否是素从键盘上输入

8、一个数,编程判断该数是否是素从键盘上输入一个数,编程判断该数是否是素从键盘上输入一个数,编程判断该数是否是素数。如果是,输出数。如果是,输出数。如果是,输出数。如果是,输出“YesYes!”,否则,输出否则,输出否则,输出否则,输出“NoNo!”分析分析分析分析从键盘上键入一个数从键盘上键入一个数从键盘上键入一个数从键盘上键入一个数mm判断该数的正负,如果是负数,则退出程序判断该数的正负,如果是负数,则退出程序判断该数的正负,如果是负数,则退出程序判断该数的正负,如果是负数,则退出程序计算计算计算计算k=sqrt(m)k=sqrt(m)循环变量循环变量循环变量循环变量i i从从从从2 2变化到

9、变化到变化到变化到k k,依次检查依次检查依次检查依次检查m%im%i是否为是否为是否为是否为0 0若若若若m%im%i为为为为0 0,则判定,则判定,则判定,则判定mm不是素数,不是素数,不是素数,不是素数,中止中止中止中止循环,否则循环,否则循环,否则循环,否则遍历所有遍历所有遍历所有遍历所有i i值值值值后退出循环,这时判定后退出循环,这时判定后退出循环,这时判定后退出循环,这时判定mm是素数是素数是素数是素数2022/11/9解法一解法一#includeinclude#include#include#include#includevoidmain()voidmain()intm,i,k

10、;intm,i,k;printf(Pleaseenteranumber:);printf(Pleaseenteranumber:);scanf(“%d”,&m);/*scanf(“%d”,&m);/*从键盘输入一个正整数从键盘输入一个正整数从键盘输入一个正整数从键盘输入一个正整数*/*/if(m0)if(m0)printf(“mprintf(“m不能为负数!不能为负数!不能为负数!不能为负数!n”);n”);exit(0);exit(0);k=sqrt(m);/*k=sqrt(m);/*计算计算计算计算mm的平方根的平方根的平方根的平方根*/*/2022/11/917for(i=2;i=for

11、(i=2;ikik)printf(Yes!n);printf(Yes!n);elseelseprintf(No!n);printf(No!n);printf(Programisover!n);printf(Programisover!n);两个出口两个出口两个出口两个出口A真假假2022/11/918break和和continue 对对对对forfor、whilewhile、do-whiledo-while循环进行内部手术循环进行内部手术循环进行内部手术循环进行内部手术 breakbreak,退出循环,退出循环,退出循环,退出循环 breakbreak不能单独和不能单独和不能单独和不能单独和i

12、f if语句搭配使用语句搭配使用语句搭配使用语句搭配使用 continuecontinue,中断此次循环体的执行,开始下一次,中断此次循环体的执行,开始下一次,中断此次循环体的执行,开始下一次,中断此次循环体的执行,开始下一次 breakbreak和和和和continuecontinue少用为妙少用为妙少用为妙少用为妙 gotogoto不做介绍不做介绍不做介绍不做介绍2022/11/919找出找出200-300之间能被之间能被3整除的数整除的数#includeincludevoidmain()voidmain()inti;inti;for(i=200;i=300;i+)for(i=200;i=

13、300;i+)if(!(i%3)if(!(i%3)printf(“%dn”,i);printf(“%dn”,i);2022/11/9intm,i,kintm,i,k,flag=1,flag=1;/*;/*标志变量标志变量标志变量标志变量flagflag初值置为初值置为初值置为初值置为1*/1*/*i=k/*i=k和和和和flagflag中只要有一个为假就结束循环中只要有一个为假就结束循环中只要有一个为假就结束循环中只要有一个为假就结束循环*/*/for(i=2;i=kfor(i=2;i=k&flag&flag;i+);i+)if(m%i=0)if(m%i=0)flag=0;flag=0;if(

14、if(flagflag)printf(Yes!n);printf(Yes!n);elseelse printf(No!n);printf(No!n);解法二核心代码解法二核心代码一个出口一个出口一个出口一个出口A真假假2022/11/9综合应用综合应用1 编程输出如下格式的九九乘法表编程输出如下格式的九九乘法表编程输出如下格式的九九乘法表编程输出如下格式的九九乘法表2022/11/922分析分析 遇到循环嵌套情况时,要仔细分析每个循环变遇到循环嵌套情况时,要仔细分析每个循环变遇到循环嵌套情况时,要仔细分析每个循环变遇到循环嵌套情况时,要仔细分析每个循环变量用于控制什么,循环变量的初值和循环终止

15、量用于控制什么,循环变量的初值和循环终止量用于控制什么,循环变量的初值和循环终止量用于控制什么,循环变量的初值和循环终止的条件的条件的条件的条件 观察该乘法表发现:观察该乘法表发现:观察该乘法表发现:观察该乘法表发现:每行有每行有每行有每行有9 9 9 9列,总共列,总共列,总共列,总共9 9 9 9行行行行 这道题中关键问题:这道题中关键问题:这道题中关键问题:这道题中关键问题:每一个打印出来的数是按照什么规律得到的每一个打印出来的数是按照什么规律得到的每一个打印出来的数是按照什么规律得到的每一个打印出来的数是按照什么规律得到的这个规律中,循环变量起什么作用这个规律中,循环变量起什么作用这个

16、规律中,循环变量起什么作用这个规律中,循环变量起什么作用循环变量的初值和循环终止的条件循环变量的初值和循环终止的条件循环变量的初值和循环终止的条件循环变量的初值和循环终止的条件2022/11/923实现实现#includeincludevoidmain()voidmain()intm,n;intm,n;for(m=for(m=1 1;m10m10;m+);m+)printf(%printf(%4d4d,m);/*,m);/*打印表头打印表头打印表头打印表头*/*/printf(n);printf(n);for(m=1;m10;m+)for(m=1;m10;m+)printf(printf(-)

17、;);printf(n);printf(n);2022/11/924for(m=1;m10;m+)/*for(m=1;m10;m+)/*被乘数被乘数被乘数被乘数mm从从从从1 1变化到变化到变化到变化到9*/9*/for(for(n=1n=1;n10;n+)/*;n10;n+)/*乘数乘数乘数乘数n n从从从从1 1变化到变化到变化到变化到9*/9*/printf(%4d,printf(%4d,m*nm*n);/*);/*输出第输出第输出第输出第mm行行行行n n列中的列中的列中的列中的m*nm*n的值的值的值的值*/*/printf(n);printf(n);/*/*输出换行符输出换行符输出

18、换行符输出换行符,准备打印下一行准备打印下一行准备打印下一行准备打印下一行*/*/2022/11/9综合应用综合应用2 编程输出如下格式的九九乘法表编程输出如下格式的九九乘法表编程输出如下格式的九九乘法表编程输出如下格式的九九乘法表2022/11/926分析分析 关键是控制每行打印的列数关键是控制每行打印的列数关键是控制每行打印的列数关键是控制每行打印的列数 规律是:规律是:规律是:规律是:第第第第1 1 1 1行打印行打印行打印行打印1 1 1 1列列列列第第第第2 2 2 2行打印行打印行打印行打印2 2 2 2列列列列第第第第m m m m行打印行打印行打印行打印m m m m列列列列2

19、022/11/927实现实现实现实现#includeincludevoidmain()voidmain()intm,n;intm,n;for(m=for(m=1 1;m10m10;m+);m+)printf(%printf(%4d4d,m);/*,m);/*打印表头打印表头打印表头打印表头*/*/printf(n);printf(n);for(m=1;m10;m+)for(m=1;m10;m+)printf(printf(-););printf(n);printf(n);2022/11/928for(m=1;m10;m+)/*for(m=1;m10;m+)/*被乘数被乘数被乘数被乘数mm从从从

20、从1 1变化到变化到变化到变化到9*/9*/for(n=1;for(n=1;n=mn=m;n+)/*;n+)/*乘数乘数乘数乘数n n从从从从1 1变化到变化到变化到变化到m*/m*/printf(%4d,m*n);/*printf(%4d,m*n);/*输出第输出第输出第输出第mm行行行行n n列中的列中的列中的列中的m*nm*n的值的值的值的值*/*/printf(n);/*printf(n);/*输出换行符输出换行符输出换行符输出换行符,准备打印下一行准备打印下一行准备打印下一行准备打印下一行*/*/2022/11/929作业作业 预习第三章剩下的内容和第五章预习第三章剩下的内容和第五章

21、 打印如下九九乘法表打印如下九九乘法表2022/11/9大作业大作业 在在在在10000100001000010000以内验证哥德巴赫猜想之以内验证哥德巴赫猜想之以内验证哥德巴赫猜想之以内验证哥德巴赫猜想之“1+1”“1+1”“1+1”“1+1”命题:命题:命题:命题:任意大的偶数,都可以表示为两个素数之和任意大的偶数,都可以表示为两个素数之和任意大的偶数,都可以表示为两个素数之和任意大的偶数,都可以表示为两个素数之和 按照如下格式打印按照如下格式打印按照如下格式打印按照如下格式打印100100100100以内整数的平方根表以内整数的平方根表以内整数的平方根表以内整数的平方根表2022/11/

22、931平方根表作业提示平方根表作业提示 第一行为单独打印的表头第一行为单独打印的表头第一行为单独打印的表头第一行为单独打印的表头 表内第一行打印表内第一行打印表内第一行打印表内第一行打印0-90-90-90-9的平方根的平方根的平方根的平方根 第二行打印第二行打印第二行打印第二行打印10-1910-1910-1910-19的平方根的平方根的平方根的平方根 第第第第10101010行打印行打印行打印行打印90-9990-9990-9990-99的平方根的平方根的平方根的平方根 设表的行数有设表的行数有设表的行数有设表的行数有x x x x行,列数有行,列数有行,列数有行,列数有y y y y列,则对应第列,则对应第列,则对应第列,则对应第x x x x行行行行第第第第x x x x列的表值为列的表值为列的表值为列的表值为sqrt(x*10+y)sqrt(x*10+y)sqrt(x*10+y)sqrt(x*10+y)2022/11/9结束语结束语谢谢大家聆听!谢谢大家聆听!32

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁