5.9 循环语句的嵌套_第1页
5.9 循环语句的嵌套_第2页
5.9 循环语句的嵌套_第3页
5.9 循环语句的嵌套_第4页
5.9 循环语句的嵌套_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Teacher teaching designCONTENTS 目 录自主学习 明确考点案例分析 交流提升课后作业 自我提升仿真演练,体验探索提出问题 引入新课PART 01思考:(1)对照前面所讲的数位分解法有什么不同? (2)请尝试分析以下程序的执行过程? 请分析以下求1000以内的所有 “水仙花数”程序。main() int i,j,k,m,n;for(i=1;i=9;i+)for(j=0;j=9;j+)for(k=0;k=9;k+) m=i*100+j*10+k; n=i*i*i+j*j*j+k*k*k; if(m=n) printf(%5d,m); 【解析:】这是一个由3个for循环

2、构成的循环嵌套。外循环for(i=1;i=9;i+)每执行一遍,内循环for(j=0;j=9;j+)要执行完毕,也就是10次,而最内层循环for(k=0;k=9;k+)要执行1010=100次。 程序运行结果: 153 370 371 407提出问题 引入新课(1)、分析以下程序的运行结果。 #include stdio.hvoid main()int a, b; for(a=1,b=1; a=10) break; if(b%3=1) b+=3; continue; printf(%dn,a);案例分析 交流提升自主学习 明确考点PART 02点击输入简要文字内容,需概括精炼,不用多余的文字修

3、饰,言简意赅的说明分项内容。添加标题内容自主学习 明确考点考点一、循环语句的嵌套结构如果一个循环结构的循环体中又包含一个完整的循环结构,就称为循环的嵌套,如果内嵌的循环体中还包含有完整的循环,称多重循环。含义:三种循环语句(while,for,do-while)可以相互嵌套。例如,以下几种均为合法的循环嵌套。嵌套结构种类:自主学习 明确考点(1)for语句和while语句构成的循环嵌套;(2)do-while语句和for语句构成的循环嵌套;(3)do-while语句和while语句构成的循环嵌套;(4)for语句和for语句构成的循环嵌套。 for() while() do for( ) wh

4、ile();while()do() while();for( )for() 案例分析 交流提升PART 03(1)printf (“n”); 的作用是什么?是打印这个图形所是必需的吗?(2)内循环中的大括号: ,也是必需的吗?其作用是什么? 思考:这是一个简单的二维图形:5行,8列。用二重循环设计程序正好合适。这里循环次数已知,使用for语句循环方便。分析:【例1】、打印如下图形: * * * * * * * * * * * * * * * 案例分析 交流提升用变量 i表示行号,取值范围1到5;变量j表示列号,取值范围1到8。因为打印图形是按行打印,先打印第一行,再打印第二行,所以应该由内循环

5、完成行的打印。对某一行i,有循环:for ( j=1 ; j= 8 ; j+ ) printf (”*”) ;实现对i行的打印,打印出第i行的:“* * * * * * * * “ 。所以j就是内循环变量了。外循环i是控制行号的,i是外循环变量。main()int i , j ;for (i=1 ; j= 5 ; i+ ) for ( j=1 ; j= 8 ; j+ ) printf (”*”) ; printf (“n”); (1)内循环设计出判断某一个数n是否是素数的算法; 分析:1(3)外循环: 被判断数n ,从100 循环到200;main() int i , n ; for( n=1

6、01 ;n200;n+=2) /*外循环:为内循环提供一个整数n */ for( i=2 ; i=n ) /* n是素数时,输出n */ printf(“%5d”,n); 2【例2】、输出100200之间的全部素数。所谓素数n是指,除1和n之外,不能被2(n-1)之间的任何整数整除。案例分析 交流提升(2)判断某数n是否是素数的算法:根据素数的定义,用2(n-1)之间的每一个数去整除n,如果都不能被整除,则表示该数是一个素数;【例3】一个数如果恰好等于它的因子(不包括本身)之和,就是“完全数”,找出1500以内的所有完全数。例题这一个题目要用两重循环嵌套,外循环是2-1500所有的数(因为1只

7、有本身是它的因子,因此1不在考虑范围之内),内循环是要判断某一个具体的数是否是完全数。在内循环体要求出一个具体的数的所有因子,并把所有的因子进行求和,在内循环体下一条语句判断和是否与这个数相等,如果相等则是,否则不是。源程序如下:解题思路:main() int i,j,sum;for(i=2;i=1500;i+) sum=1; for(j=2;j=i/2;j+) /*内循环求外循环变量i的因子*/if(i%j=0) /*如果j是i的因子*/sum=sum+j;if(sum=i)printf(%5d,i); 程序运行结果:6 28 496 案例分析 交流提升源程序 仿真演练 体验探索PART 04* * * * * * * * 1、编程打印以下图案:2、输出9*9口诀仿真演练,体验探索课后作业 自我提升PART 05【1】36块砖,36人搬,男搬4,女搬3,两个小孩子抬一块,要求一次搬完,问男,女,小孩各需多少? 【2】将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。提示:对n进行分解质因数,应先找到一个最小的质因数k (1)如果这个质因数恰等于n,则说明分

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论