(中职)计算机程序设计(C语言)第五章第6节教学课件工信版

2022-10-19
| 29页
| 87人阅读
| 9人下载
普通

内容正文:

YCF (中职)计算机程序设计(C语言)第五章第6节教学课件工信版 1 第五章 循环结构程序设计 第5.6循环结构程序设计应用举例 5.6.1循环次数类应用 5.6.2文本作图类应用 5.6.3素数类应用 5.6.4穷举法应用 5.6.5递推法应用 5.6.1循环次数类应用 有关循环次数类问题的求解,特别是多重循环中循环次数的求解,既是循环结构程序设计的重点也是难点,解此类问题时分两种情况: (1)循环次数固定,直接采用各层循环次数相乘。 (2)循环次数随循环变量值的变化而变化,则需要逐层加以计算后累加出各层循环次数,一般要用到“口算”、“心算”来模拟计算机的运算过程。 5.6.1循环次数类应用 【例5.7】写出下面程序的运行结果。 #include <stdio.h> main() { int k,j,m,e=0,f=0,g; for( j=1;j<=5;j++) { e++; f++; g=0; for(k=1;k<=7;k++) { e+=1; g+=2; for(m=1;m<=10;m++) f+=1; e+=1; } g+=1; } printf(“e=%d,f=%d,g=%d”,e,f,g); } 5.6.1循环次数类应用 【例5.7】写出下面程序的运行结果。 程序运行结果: e=75,f=355,g=15 说明:这是一个三重循环结构的问题,且每层循环的次数是固定的,遇到此类问题,应针对printf输出项一个一个变量值进行求解,可以按输出顺序,先求e的值,找出所有e的地方进行求解,然后再求f和g的值。 首先分析外层、中间层和内层循环中的循环次数,则根据循环次数公式n=(b-a)/c+1则可以得出外层循环次数=(5-1)/1+1=5 中间层循环次数=外层循环次数*中间层循环次数=5*((7-1)/1+1)=35 内层循环次数=中间层循环次数*内层循环次数=35*((10-1)/1+1)=350 再分析e,f,g三个变量在各层的中的每循环一次增量大小和次数。 e是一个计数器,它的值=在外层循环中每次增加1*次数5=5,在中间层循环中两次都加1为2*中间层次数35=70,内层循环中没有e,所以e=5+70=75。 f也是一个计数器,同样在外层循环中每次加1,则得5,中间层循环中没有,内层循环每次增加1*350=350,所以f=5+350=355。 g还是一个计数器,由于在外层循环中,每次都赋0,所以只有在最后一次外循环执行时g的值才被累加到值存入内存单元中,所以g的值只有一次中间层循环2*7=14加一次外循环1*1=1,所以g=14+1=15。 5.6.1循环次数类应用拓展练习 通过本例的学习,我们了解了循环结构程序的执行过程,当然,此例是循环次数固定的情况,运算起来还相对简单一些,如果多层循环的次数都不固定,而是随着内外循环变量值的变化而变化,那么循环次数又如何求解呢? 5.6.1循环次数类应用拓展练习 例如:写出下面程序的运行结果。 #include <stdio.h> main() { int k,j,m,e=0,f=0; for( j=1;j<=3;j++) { e++; for(k=1;k<=j;k++) { e+=1; for(m=1;m<=k;m++) f+=1; } } printf(“e=%d,f=%d”,e,f); } 程序运行结果: e=9,f=10 说明:这也是一个三重循环结构的问题,且每层循环的次数是不固定的,遇到此类问题,还是针对printf输出项一个一个变量值进行求解,可以按输出顺序,先求e的值,找出所有e的地方进行求解,然后再求f的值,但是求解过程要细心。 e值求解,它的值=在外层循环中每次增加1*次数3=3,在中间层循环中次数跟i的值有关,当j=1时,循环1次,j=2时,循环2次,j=3时,循环3次,共循环1+2+3=6次,每循环一次增加1*6=6,内层循环没有e,所以e=3+6=9。 f值求解,在外层和中间层都没有,内层循环每次增加1,内循环次数跟外层、中间层循环变量取值有关: 当j=1时,则k=1,则m共循环1次; 当j=2时,则k=1、k=2,则m=1循环1次+m=1、m=2循环2次,共循环1+2=3次; 当j=3时,则k=1、k=2、k=3,则当k=1,m=1循环1次;当k=2,m=1、m=2循环共2次;当k=3,m=1、m=2、m=3

资源预览图

(中职)计算机程序设计(C语言)第五章第6节教学课件工信版
1
(中职)计算机程序设计(C语言)第五章第6节教学课件工信版
2
(中职)计算机程序设计(C语言)第五章第6节教学课件工信版
3
(中职)计算机程序设计(C语言)第五章第6节教学课件工信版
4
(中职)计算机程序设计(C语言)第五章第6节教学课件工信版
5
(中职)计算机程序设计(C语言)第五章第6节教学课件工信版
6
所属专辑
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。