计算机二级循环结构课件.ppt
第三章 c语言程序的控制结构 3.4 循环结构 3.4 循环结构 循环算法研究: 迭代和穷举是两类具有代表性的基本循环算法 1.迭代 迭代是一个不断用新值取代变量的旧值,或由旧值递推出变量的新值的过程。 1.迭代 例如1:人口增长问题。 按照每年0.2%的增长速度,我国现有13亿人口,10年后将有多少人? 设我国现有人口为m,则第1年后人口数变为: m=m*(1+0.2%);即将m的值用m*(1+0.2%)替代 第2年后,在执行一次上述的替代; 第10年后,就把上述的替代执行10次; 注意:迭代要素:(1)初值 (2)迭代公式 (3)迭代终止条件 1.迭代 例如2:兔子繁殖问题。 设有一对新生兔子,从第三个月开始他们每月都生育一对小兔子。按此规律,并假设没有兔子死亡,一年后将共有多少对兔子? 1,1,2,3,5,8,13,21,34,…… 迭代要素: (1)初值 fib1=fib2=1 (2)迭代公式 fibn=fibn-1+fibn-2 (3)迭代终止条件 n小于等于12 3.4 循环结构 循环算法研究: 迭代和穷举是两类具有代表性的基本循环算法 2.穷举 穷举是对问题所有可能状态逐一测试,直至找到解或将全部可能状态都测试完成为止。 例如1:分类输出100以内的奇数和偶数? 例如2:百钱百鸡问题。 我国古代有一道有名的数学问题,即百钱买百鸡的问题:鸡翁一,值钱五,鸡母一,值钱三,鸡雏三,值钱一,百钱买百鸡,问鸡翁、鸡母、鸡雏各几何? 3.4.1 while循环语句 例:读程序 例:计算1到100的和 main ( ) { int sum=0, n; for (n=1;n<=100;n++) sum=sum+n; printf ("sum=%d" , sum) ; } 例如:判断一个数是否为素数? #include"stdio.h" void main( ) { int n,i; printf(“请输入一个数:"); scanf("%d",&n); for(i=2;i