《循环结构程序设计ppt课件.ppt》由会员分享,可在线阅读,更多相关《循环结构程序设计ppt课件.ppt(32页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第五章 循环结构程序设计 C语言程序设计第五章第五章 循环结构程序设计循环结构程序设计n n本章主要内容:本章主要内容:本章主要内容:本章主要内容:5.1 5.1 循环概述循环概述循环概述循环概述 5.2 while5.2 while语句语句语句语句5.3 do-while5.3 do-while语句语句语句语句5.4 for5.4 for语句语句语句语句 n n本章重点:本章重点:本章重点:本章重点:熟练掌握三种循环语句来处理重复性的问题;深刻理解熟练掌握三种循环语句来处理重复性的问题;深刻理解熟练掌握三种循环语句来处理重复性的问题;深刻理解熟练掌握三种循环语句来处理重复性的问题;深刻理解循
2、环的概念、用法和常规的循环程序设计方法。重点掌循环的概念、用法和常规的循环程序设计方法。重点掌循环的概念、用法和常规的循环程序设计方法。重点掌循环的概念、用法和常规的循环程序设计方法。重点掌握单循环和双重循环的程序设计。学会使用控制循环的握单循环和双重循环的程序设计。学会使用控制循环的握单循环和双重循环的程序设计。学会使用控制循环的握单循环和双重循环的程序设计。学会使用控制循环的两个语句,能在适当的时候停止循环或使循环继续。学两个语句,能在适当的时候停止循环或使循环继续。学两个语句,能在适当的时候停止循环或使循环继续。学两个语句,能在适当的时候停止循环或使循环继续。学会使用变量跟踪表来跟踪循环
3、程序的执行过程。会使用变量跟踪表来跟踪循环程序的执行过程。会使用变量跟踪表来跟踪循环程序的执行过程。会使用变量跟踪表来跟踪循环程序的执行过程。pp 5.5 break5.5 break和和和和continuecontinue语句语句语句语句pp 5.6 5.6 多重循环多重循环多重循环多重循环 pp 5.7 5.7 综合应用举例综合应用举例综合应用举例综合应用举例pp作业作业作业作业C语言程序设计5.1 5.1 循环概述循环概述 n n引例:引例:引例:引例:输入输入输入输入3030名同学的成绩,计算全体同学的名同学的成绩,计算全体同学的名同学的成绩,计算全体同学的名同学的成绩,计算全体同学的
4、平均分。平均分。平均分。平均分。n n思路思路思路思路1 1:int x1,x2,x3,x30;int x1,x2,x3,x30;int sum;int sum;scanf(“%d,%d%d”,&x1,&x2,&x30);scanf(“%d,%d%d”,&x1,&x2,&x30);sum=x1+x2+x30;sum=x1+x2+x30;printf(“%f”,sum/30.0);printf(“%f”,sum/30.0);循环结构程序设计C语言程序设计n n循环结构是结构化程序设计三种基本结构之一,循环结构是结构化程序设计三种基本结构之一,循环结构是结构化程序设计三种基本结构之一,循环结构是结
5、构化程序设计三种基本结构之一,它和顺序结构、选择结构共同作为各种复杂程它和顺序结构、选择结构共同作为各种复杂程它和顺序结构、选择结构共同作为各种复杂程它和顺序结构、选择结构共同作为各种复杂程序的基本构造单元。几乎所有实用的程序都包序的基本构造单元。几乎所有实用的程序都包序的基本构造单元。几乎所有实用的程序都包序的基本构造单元。几乎所有实用的程序都包含循环。含循环。含循环。含循环。n n熟练掌握选择结构和循环结构的概念及使用,熟练掌握选择结构和循环结构的概念及使用,熟练掌握选择结构和循环结构的概念及使用,熟练掌握选择结构和循环结构的概念及使用,是程序设计的最基本的要求。是程序设计的最基本的要求。
6、是程序设计的最基本的要求。是程序设计的最基本的要求。n nC C语言中循环包括:语言中循环包括:语言中循环包括:语言中循环包括:1.1.whilewhile语句语句语句语句2.2.do-whiledo-while语句语句语句语句3.3.forfor语句语句语句语句4.4.gotogoto语句和语句和语句和语句和if if语句配合语句配合语句配合语句配合循环结构程序设计C语言程序设计n n语法格式为:语法格式为:语法格式为:语法格式为:while(while(while(while(表达式表达式表达式表达式)语句语句语句语句 n n执行过程:执行过程:执行过程:执行过程:5.2 while语句语
7、句“当型当型”循环循环 表达式表达式语句语句NY循环结构程序设计C语言程序设计n n 引例引例引例引例 输入输入输入输入3030名同学的成绩,计算全体同学的平名同学的成绩,计算全体同学的平名同学的成绩,计算全体同学的平名同学的成绩,计算全体同学的平均分。均分。均分。均分。main()main()int i,s,x;int i,s,x;s=0;i=1;s=0;i=1;while(i=30)while(i=30)scanf(“%d”,&x);scanf(“%d”,&x);s+=x;s+=x;i+;i+;printf(“%fn”,s/30.0);printf(“%fn”,s/30.0);0 s,1i
8、i30读xs+=x输出s/30.0i+N NY Y循环结构程序设计复合语句复合语句C语言程序设计n n 例例例例5.1 5.1 求求求求1+2+3+4+51+2+3+4+5的和。的和。的和。的和。n n分析:对引例的算法进行修改分析:对引例的算法进行修改分析:对引例的算法进行修改分析:对引例的算法进行修改 main()main()int i,s;int i,s;i=1;s=0;i=1;s=0;while(i=5)while(i=5)s+=i;s+=i;i+;i+;printf(“Sum=%dn”,s);printf(“Sum=%dn”,s);循环结构程序设计0 s,1ii30读xs+=x输出s
9、/30.0i+N NY Ys5s+=iC语言程序设计n n 运行过程分析:变量跟踪表运行过程分析:变量跟踪表运行过程分析:变量跟踪表运行过程分析:变量跟踪表n n 例例例例5.1 5.1 求求求求1+2+3+4+51+2+3+4+5的和。的和。的和。的和。main()main()int i,s;int i,s;i=1;s=0;i=1;s=0;while(i=5)while(i=5)s+=i;s+=i;i+;i+;printf(“Sum=%dn”,s);printf(“Sum=%dn”,s);循环结构程序设计i si s1 10 02 21 13 33 36 64 410105 515156 6
10、C语言程序设计n n循环的控制:循环变量循环的控制:循环变量循环的控制:循环变量循环的控制:循环变量n n 例例例例5.1 5.1 求求求求1+2+3+4+51+2+3+4+5的和。的和。的和。的和。main()main()int i,s;int i,s;i=1;s=0;i=1;s=0;while(i=5)while(i=5)s+=i;s+=i;i+;i+;printf(“Sum=%dn”,s);printf(“Sum=%dn”,s);循环结构程序设计循环变量循环变量给循环变量赋初值给循环变量赋初值使循环变量发生变化使循环变量发生变化C语言程序设计n n 例例例例5.2 5.2 求求求求5!5
11、!,即求,即求,即求,即求1234512345的积。的积。的积。的积。main()main()int i,p;int i,p;i=1;p=1;i=1;p=1;while(i=5)while(i=5)p*=i;p*=i;i+;i+;printf(“5!=%dn”,p);printf(“5!=%dn”,p);循环结构程序设计i pi p1 11 12 21 13 32 26 64 424245 51201206 6C语言程序设计n n 例例例例5.3 5.3 求求求求1!+2!+3!+4!+5!1!+2!+3!+4!+5!之和。之和。之和。之和。main()main()int i,p,s;int
12、i,p,s;i=1;p=1;s=0;i=1;p=1;s=0;while(i=5)while(i=5)p*=i;s+=p;p*=i;s+=p;i+;i+;printf(“Sum=%dn”,s);printf(“Sum=%dn”,s);循环结构程序设计i p si p s1 11 12 21 13 32 26 64 424245 51201206 60 01 13 39 93333153153C语言程序设计main()main()int i=1,s=0;int i=1,s=0;while(i _ )while(i _ )_ _ _ _ printf(“Sum=%dn”,s);printf(“Sum
13、=%dn”,s);例例5.4 求求100以内的奇数之和,即求以内的奇数之和,即求:1+3+5+99的和。的和。循环结构程序设计 100 100s+=i;s+=i;i+=2;i+=2;100 100if(i%2!=0)s+=i;if(i%2!=0)s+=i;i+;i+;=50=50s+=2*i-1;s+=2*i-1;i+;i+;C语言程序设计n n语法格式为:语法格式为:语法格式为:语法格式为:do do do do 语句语句语句语句 while(while(while(while(表达式表达式表达式表达式););););n n执行过程:执行过程:执行过程:执行过程:5.3 do-while语句
14、语句“当型当型”循环循环 循环结构程序设计表达式表达式语句语句NYC语言程序设计n n 例例例例5.5 5.5 求求求求1+2+3+4+51+2+3+4+5的和。的和。的和。的和。main()main()int i,s;int i,s;i=1;s=0;i=1;s=0;dodo s+=i;s+=i;i+;i+;while(i=5);while(i=5);printf(“Sum=%dn”,s);printf(“Sum=%dn”,s);n n运行过程分析:变量跟踪表运行过程分析:变量跟踪表运行过程分析:变量跟踪表运行过程分析:变量跟踪表循环结构程序设计i si s1 10 02 21 13 33 3
15、6 64 410105 515156 6C语言程序设计 例例例例5.6 5.6 whilewhile与与与与do-whiledo-while的比较:求的比较:求的比较:求的比较:求1+2+3+4+51+2+3+4+5的和。的和。的和。的和。用用用用whilewhile语句语句语句语句 用用用用do-whiledo-while语句语句语句语句main()main()int i,s=0;int i,s=0;i=6;i=6;while(i=5)while(i=5)s+=i;s+=i;i+;i+;printf(“Sum=%dn”,s);printf(“Sum=%dn”,s);循环结构程序设计main(
16、)main()int i,s=0;int i,s=0;i=6;i=6;do do s+=i;s+=i;i+;i+;while(i=5);while(i=5);printf(printf(“Sum=%dnSum=%dn”,s);,s);运行结果:运行结果:运行结果:运行结果:Sum=0Sum=0运行结果:运行结果:运行结果:运行结果:Sum=6Sum=6C语言程序设计n n语法格式为:语法格式为:语法格式为:语法格式为:for(for(表达式表达式表达式表达式1 1;表达式;表达式;表达式;表达式2 2;表达式;表达式;表达式;表达式3)3)语句语句语句语句n n执行过程:执行过程:执行过程:执
17、行过程:5.4 for语句语句“计数式计数式”循环循环 循环结构程序设计表达式表达式2语句语句NY表达式表达式1表达式表达式3C语言程序设计例例5.7 用用for语句求语句求1+2+3+4+5的和。的和。main()main()int i,s=0;int i,s=0;for(i=1;i=5;i+)for(i=1;i=5;i+)s+=i;s+=i;printf(“Sum=%dn”,s);printf(“Sum=%dn”,s);循环结构程序设计循环变量循环变量给循环变量赋初值给循环变量赋初值使循环变量发生变化使循环变量发生变化循环体。循环体。通常是复合语句通常是复合语句C语言程序设计说明:说明:说
18、明:说明:1.1.表达式表达式表达式表达式1 1和表达式和表达式和表达式和表达式3 3既可以是简单的表达式,也可既可以是简单的表达式,也可既可以是简单的表达式,也可既可以是简单的表达式,也可以是逗号表达式;可以与循环变量有关,也可以以是逗号表达式;可以与循环变量有关,也可以以是逗号表达式;可以与循环变量有关,也可以以是逗号表达式;可以与循环变量有关,也可以无关。无关。无关。无关。n n求求求求1+2+3+4+51+2+3+4+5,可以写成如下几种形式:,可以写成如下几种形式:,可以写成如下几种形式:,可以写成如下几种形式:(1)for(i=1,s=0;i=5;i+)s=s+i;(1)for(i
19、=1,s=0;i=5;i+)s=s+i;(2)for(i=1;i=5;s=s+i,i+);(2)for(i=1;i=5;s=s+i,i+);(3)for(i=1,s=0;i=5;s=s+i,i+);(3)for(i=1,s=0;i=5;s=s+i,i+);(4)for(s=0;i=5;i+)s=s+i;(4)for(s=0;i=5;i+)s=s+i;循环结构程序设计逗号表达式逗号表达式逗号表达式逗号表达式逗号表达式逗号表达式逗号表达式逗号表达式与循环变量无关与循环变量无关C语言程序设计2.2.forfor语句中的三个表达式可以全部或部分省略,语句中的三个表达式可以全部或部分省略,语句中的三个表
20、达式可以全部或部分省略,语句中的三个表达式可以全部或部分省略,但分号但分号但分号但分号“;”不能省。如:不能省。如:不能省。如:不能省。如:i=1;for(;i=5;i+)s=s+i;i=1;for(;i=5;i+)s=s+i;for(i=1;i=5;)s=s+i+;for(i=1;i=5;)s=s+i+;i=1;for(;i=5;)s=s+i+;i=1;for(;i=5;)s=s+i+;for(i=1;i+)s=s+i;for(i=1;i+)s=s+i;for(;)for(;)循环结构程序设计省略表达式省略表达式1 1 省略表达式省略表达式3 3 省略表达式省略表达式1 1、3 3 省略表达
21、式省略表达式2 2 省略表达式省略表达式1 1、2 2、3 3 相当于常量相当于常量1 1,即,即为为“永真永真”条件条件相当于相当于while(1)while(1)C语言程序设计5.5 break和和continue语句语句 1 1break语句语句 n n语法格式:语法格式:语法格式:语法格式:break;break;n n 例例例例5.9 5.9 求求求求1+2+3+4+51+2+3+4+5的和。的和。的和。的和。用用用用breakbreak语句解决语句解决语句解决语句解决“永真永真永真永真”循环循环循环循环循环结构程序设计breakC语言程序设计2 2continue语句语句 n n语
22、法格式:语法格式:语法格式:语法格式:continue;continue;n n 例例例例5.10 5.10 输入输入输入输入5 5个成绩数据求平均成绩。对非法个成绩数据求平均成绩。对非法个成绩数据求平均成绩。对非法个成绩数据求平均成绩。对非法成绩成绩成绩成绩(不在不在不在不在0,1000,100之间之间之间之间)数据要求重新输入。数据要求重新输入。数据要求重新输入。数据要求重新输入。循环结构程序设计continue;C语言程序设计5.6 多重循环多重循环n n在一个循环中又包含了另一个循环,称多重循在一个循环中又包含了另一个循环,称多重循在一个循环中又包含了另一个循环,称多重循在一个循环中又
23、包含了另一个循环,称多重循环环环环(也称循环的嵌套也称循环的嵌套也称循环的嵌套也称循环的嵌套)。n n实现多重循环结构仍使用前面讲的三种循环语实现多重循环结构仍使用前面讲的三种循环语实现多重循环结构仍使用前面讲的三种循环语实现多重循环结构仍使用前面讲的三种循环语句。句。句。句。循环结构程序设计双重循环双重循环双重循环双重循环 三重循环三重循环三重循环三重循环 单循环单循环单循环单循环 双重循环双重循环双重循环双重循环 非法非法非法非法C语言程序设计n n 例例例例5.11 5.11 用双重循环改写例用双重循环改写例用双重循环改写例用双重循环改写例5.3:5.3:求求求求1!+2!+5!1!+2
24、!+5!main()main()int i,j,p,s=0;int i,j,p,s=0;for(i=1;i=5;i+)for(i=1;i=5;i+)/*/*外循环外循环外循环外循环*/p=1;p=1;for(j=1;j=i;j+)for(j=1;j=i;j+)/*/*内循环内循环内循环内循环*/p=p*i;p=p*i;s=s+p;s=s+p;printf(“Sum=%dn”,s);printf(“Sum=%dn”,s);循环结构程序设计C语言程序设计 例例例例5.12 5.12 打印图示的三角形图案。打印图示的三角形图案。打印图示的三角形图案。打印图示的三角形图案。分析:分析:分析:分析:1.
25、1.每一行由空格、星号和回车组成。每一行由空格、星号和回车组成。每一行由空格、星号和回车组成。每一行由空格、星号和回车组成。2.2.它们之间的关系:它们之间的关系:它们之间的关系:它们之间的关系:循环结构程序设计行号行号空格数空格数星号数星号数123455432113579printf(“*”);for(j=1;j=5;j+)输出输出1个星号个星号输出输出5个星号个星号i i6-i6-i2*i-12*i-1C语言程序设计 例例例例5.13 5.13 人口增长问题。按年人口增长问题。按年人口增长问题。按年人口增长问题。按年2%2%的增长速度,现有的增长速度,现有的增长速度,现有的增长速度,现有1
26、212亿人,多少年后人口将达到或超过亿人,多少年后人口将达到或超过亿人,多少年后人口将达到或超过亿人,多少年后人口将达到或超过1414亿。亿。亿。亿。n n分析:分析:分析:分析:循环结构程序设计0 012121 1年年年年人口人口人口人口2 212*1.0212*1.0212*1.02*1.0212*1.02*1.023 312*1.02*1.02*1.0212*1.02*1.02*1.02mmm*1.02m*1.02mmm*1.02m*1.02mmm*1.02m*1.02mmm14m14n n,n+,n+y y输出输出输出输出n n5.7 5.7 综合应用举例综合应用举例C语言程序设计n
27、n 例例例例5.14 5.14 验证素数。验证素数。验证素数。验证素数。n n分析:分析:分析:分析:素数:是指这个数只能被素数:是指这个数只能被素数:是指这个数只能被素数:是指这个数只能被1 1和它本身整除。和它本身整除。和它本身整除。和它本身整除。7 7是素数:它只能被是素数:它只能被是素数:它只能被是素数:它只能被1 1和和和和7 7整除;整除;整除;整除;8 8不是素数:除了不是素数:除了不是素数:除了不是素数:除了1 1和和和和8 8之外,还能被其它数之外,还能被其它数之外,还能被其它数之外,还能被其它数(如如如如2)2)整整整整除。除。除。除。判断判断判断判断mm是否为素数,是要验
28、证是否为素数,是要验证是否为素数,是要验证是否为素数,是要验证mm是否能被是否能被是否能被是否能被2m-12m-1之之之之中的一个数中的一个数中的一个数中的一个数n n整除即可。若整除即可。若整除即可。若整除即可。若n n存在,则存在,则存在,则存在,则mm不是素数;不是素数;不是素数;不是素数;否则否则否则否则mm为素数。为素数。为素数。为素数。循环结构程序设计C语言程序设计n n 例例例例5.15 5.15 打印打印打印打印100200100200之间的全部素数,每行之间的全部素数,每行之间的全部素数,每行之间的全部素数,每行1010数据。数据。数据。数据。n n分析:分析:分析:分析:只
29、要把上例中从键盘输入的只要把上例中从键盘输入的只要把上例中从键盘输入的只要把上例中从键盘输入的mm由程序产生即可由程序产生即可由程序产生即可由程序产生即可(从从从从100100变到变到变到变到200)200)。每得到一个素数,使一计数器加每得到一个素数,使一计数器加每得到一个素数,使一计数器加每得到一个素数,使一计数器加1 1。当计数器的。当计数器的。当计数器的。当计数器的值为值为值为值为1010的倍数时,输出换行。的倍数时,输出换行。的倍数时,输出换行。的倍数时,输出换行。循环结构程序设计C语言程序设计n n 例例例例5.16 5.16 百钱买百鸡:百钱买百鸡:百钱买百鸡:百钱买百鸡:n n
30、分析:分析:分析:分析:n n这是一个不定方程这是一个不定方程这是一个不定方程这是一个不定方程 。循环结构程序设计鸡翁一值钱五,鸡翁一值钱五,鸡翁一值钱五,鸡翁一值钱五,鸡母一值钱三,鸡母一值钱三,鸡母一值钱三,鸡母一值钱三,鸡雏三值钱一。鸡雏三值钱一。鸡雏三值钱一。鸡雏三值钱一。百钱买百鸡,百钱买百鸡,百钱买百鸡,百钱买百鸡,问鸡翁、母、雏各几何?问鸡翁、母、雏各几何?问鸡翁、母、雏各几何?问鸡翁、母、雏各几何?cockscockshenshenschickschicks1cocks18 1cocks18 1hens32 1hens32 1chicks98 1chicks98 1 11 12
31、 22 21 11 1若成立,得一组解2 2C语言程序设计第5章作业n n5.1 5.1 求求求求2+4+6+8+502+4+6+8+50。n n5.2 5.2 求自然数求自然数求自然数求自然数e=1+1/2!+1/3!+1/n!e=1+1/2!+1/3!+1/n!近似值,控制第近似值,控制第近似值,控制第近似值,控制第n n项的值大于项的值大于项的值大于项的值大于1010-5-5时进行求和。时进行求和。时进行求和。时进行求和。n n5.3 5.3 计算计算计算计算sin(x)=x-xsin(x)=x-x3 3/3!+x/3!+x5 5/5!-x/5!-x7 7/7!+/7!+,直到最后一项的
32、,直到最后一项的,直到最后一项的,直到最后一项的绝对值小于绝对值小于绝对值小于绝对值小于1010-6-6时停止计算,时停止计算,时停止计算,时停止计算,x x由键盘输入。由键盘输入。由键盘输入。由键盘输入。n n5.4 5.4 输入输入输入输入1010个数,找出其中的最大值。个数,找出其中的最大值。个数,找出其中的最大值。个数,找出其中的最大值。n n5.5 5.5 输入输入输入输入2020个数,统计其中正、负和零的个数。个数,统计其中正、负和零的个数。个数,统计其中正、负和零的个数。个数,统计其中正、负和零的个数。n n5.6 5.6 输入一行字符,分别统计出其中英文字母、空格、数输入一行字
33、符,分别统计出其中英文字母、空格、数输入一行字符,分别统计出其中英文字母、空格、数输入一行字符,分别统计出其中英文字母、空格、数字字符和其它字符的个数。字字符和其它字符的个数。字字符和其它字符的个数。字字符和其它字符的个数。循环结构程序设计C语言程序设计n n5.7 5.7 输入输入输入输入3030个成绩数据,统计各分数段个成绩数据,统计各分数段个成绩数据,统计各分数段个成绩数据,统计各分数段(059(059、60696069、70797079、80898089、90100)90100)的人数、最高分、最低分和平均的人数、最高分、最低分和平均的人数、最高分、最低分和平均的人数、最高分、最低分和
34、平均分。分。分。分。n n5.8 5.8 求求求求S Sa a=a+aa+aaa+aaa(=a+aa+aaa+aaa(其中最后一项有其中最后一项有其中最后一项有其中最后一项有n n个个个个a)a)之值,其中之值,其中之值,其中之值,其中a a是一个数字。例如是一个数字。例如是一个数字。例如是一个数字。例如2+22+222+2222 2+22+222+2222+22222(+22222(此时此时此时此时n=5)n=5),n n由键盘输入。由键盘输入。由键盘输入。由键盘输入。n n5.9 5.9 输出输出输出输出100999100999中能被中能被中能被中能被3 3整除,且至少有一位数字是整除,且
35、至少有一位数字是整除,且至少有一位数字是整除,且至少有一位数字是5 5的的的的所有整数。所有整数。所有整数。所有整数。n n5.10 5.10 打印所有打印所有打印所有打印所有“水仙花数水仙花数水仙花数水仙花数”。水仙花数是一个三位数,。水仙花数是一个三位数,。水仙花数是一个三位数,。水仙花数是一个三位数,其各位数字立方和等于该数本身。例如其各位数字立方和等于该数本身。例如其各位数字立方和等于该数本身。例如其各位数字立方和等于该数本身。例如153153是一水仙花数,是一水仙花数,是一水仙花数,是一水仙花数,因为因为因为因为153=1153=13 3+5+53 3+3+33 3。n n5.11
36、5.11 验证在何范围内,勒让德提出的公式:验证在何范围内,勒让德提出的公式:验证在何范围内,勒让德提出的公式:验证在何范围内,勒让德提出的公式:a an n=n=n2 2+n+41+n+41是一个计算素数的通项公式。是一个计算素数的通项公式。是一个计算素数的通项公式。是一个计算素数的通项公式。循环结构程序设计C语言程序设计n n5.12 5.12 分别编写程序,打印以下各图案。分别编写程序,打印以下各图案。分别编写程序,打印以下各图案。分别编写程序,打印以下各图案。n n5.13 5.13 搬砖问题:搬砖问题:搬砖问题:搬砖问题:3636块砖,块砖,块砖,块砖,3636人搬;男搬人搬;男搬人
37、搬;男搬人搬;男搬4 4、女搬、女搬、女搬、女搬3 3、两个、两个、两个、两个小孩抬一砖。要求一次全搬完,问男、女、小孩各若干。小孩抬一砖。要求一次全搬完,问男、女、小孩各若干。小孩抬一砖。要求一次全搬完,问男、女、小孩各若干。小孩抬一砖。要求一次全搬完,问男、女、小孩各若干。n n5.14 5.14 爱因斯坦的阶梯问题:设有一阶梯,每步跨爱因斯坦的阶梯问题:设有一阶梯,每步跨爱因斯坦的阶梯问题:设有一阶梯,每步跨爱因斯坦的阶梯问题:设有一阶梯,每步跨2 2阶,阶,阶,阶,最后余最后余最后余最后余1 1阶;每步跨阶;每步跨阶;每步跨阶;每步跨3 3阶,最后余阶,最后余阶,最后余阶,最后余2 2
38、阶;每步跨阶;每步跨阶;每步跨阶;每步跨5 5阶,最后阶,最后阶,最后阶,最后余余余余4 4阶;每步跨阶;每步跨阶;每步跨阶;每步跨6 6阶,最后余阶,最后余阶,最后余阶,最后余5 5阶;只有每步跨阶;只有每步跨阶;只有每步跨阶;只有每步跨7 7阶,正好阶,正好阶,正好阶,正好到阶梯顶。问共有多少阶梯。到阶梯顶。问共有多少阶梯。到阶梯顶。问共有多少阶梯。到阶梯顶。问共有多少阶梯。循环结构程序设计C语言程序设计n n5.15 5.15 换零钱。将一张换零钱。将一张换零钱。将一张换零钱。将一张100100元的大钞票,兑换成元的大钞票,兑换成元的大钞票,兑换成元的大钞票,兑换成1010元、元、元、元
39、、5 5元、元、元、元、2 2元、元、元、元、1 1元的小钞票。要求每种小钞票至少一张。有多少元的小钞票。要求每种小钞票至少一张。有多少元的小钞票。要求每种小钞票至少一张。有多少元的小钞票。要求每种小钞票至少一张。有多少种兑换方法?如何兑换?种兑换方法?如何兑换?种兑换方法?如何兑换?种兑换方法?如何兑换?n n5.16 5.16 印度国王的奖励。相传古代印度国王要褒奖他的聪印度国王的奖励。相传古代印度国王要褒奖他的聪印度国王的奖励。相传古代印度国王要褒奖他的聪印度国王的奖励。相传古代印度国王要褒奖他的聪明能干的宰相达依尔明能干的宰相达依尔明能干的宰相达依尔明能干的宰相达依尔(国际象棋发明者国
40、际象棋发明者国际象棋发明者国际象棋发明者),问他要什么?,问他要什么?,问他要什么?,问他要什么?达依尔回答:达依尔回答:达依尔回答:达依尔回答:“陛下只要在国际象棋棋盘的第一个格子陛下只要在国际象棋棋盘的第一个格子陛下只要在国际象棋棋盘的第一个格子陛下只要在国际象棋棋盘的第一个格子上放一粒麦子,第二格子放二粒麦子,以后每个格子的上放一粒麦子,第二格子放二粒麦子,以后每个格子的上放一粒麦子,第二格子放二粒麦子,以后每个格子的上放一粒麦子,第二格子放二粒麦子,以后每个格子的麦子数都按前一格的两倍计算。如果陛下按此法给我麦子数都按前一格的两倍计算。如果陛下按此法给我麦子数都按前一格的两倍计算。如果
41、陛下按此法给我麦子数都按前一格的两倍计算。如果陛下按此法给我6464格的麦子,就感激不尽了。格的麦子,就感激不尽了。格的麦子,就感激不尽了。格的麦子,就感激不尽了。”国王想,国王想,国王想,国王想,“这还不容易!这还不容易!这还不容易!这还不容易!”让人杠了一袋麦子,但很快用光了,再扛一袋还不够,让人杠了一袋麦子,但很快用光了,再扛一袋还不够,让人杠了一袋麦子,但很快用光了,再扛一袋还不够,让人杠了一袋麦子,但很快用光了,再扛一袋还不够,请你为国王算一下共要给达依尔多少小麦?请你为国王算一下共要给达依尔多少小麦?请你为国王算一下共要给达依尔多少小麦?请你为国王算一下共要给达依尔多少小麦?(设设设设1 1立方米立方米立方米立方米小麦约小麦约小麦约小麦约1.4101.4108 8颗颗颗颗)循环结构程序设计