《循环结构程序设计》课件.pptx

上传人(卖家):晟晟文业 文档编号:4142780 上传时间:2022-11-14 格式:PPTX 页数:38 大小:378.13KB
下载 相关 举报
《循环结构程序设计》课件.pptx_第1页
第1页 / 共38页
《循环结构程序设计》课件.pptx_第2页
第2页 / 共38页
《循环结构程序设计》课件.pptx_第3页
第3页 / 共38页
《循环结构程序设计》课件.pptx_第4页
第4页 / 共38页
《循环结构程序设计》课件.pptx_第5页
第5页 / 共38页
点击查看更多>>
资源描述

1、循环结构程序设计PPT课件循环的定义p反复执行相同的语句序列反复执行相同的语句序列条件条件A真真假假条件条件A真真假假while循环p格式:格式:while(while(表达式表达式)语句序列语句序列 表达式表达式语句序列语句序列非非00p语句序列称为循环体,当为一条语句时,表示复合语句的语句序列称为循环体,当为一条语句时,表示复合语句的可以省略。可以省略。p表达式可以为任何类型表达式可以为任何类型p先判断,后执行,若条件不成立,有可能一次也不执行。先判断,后执行,若条件不成立,有可能一次也不执行。p语句序列中必须有改变语句序列中必须有改变whilewhile后面括号的表达式值的语句,否则有可

2、能死循环后面括号的表达式值的语句,否则有可能死循环。问题描述:笑笑作为数学课代表,每次考试后,数学老师都会让他统计成绩,老师并不关心具体某个人的成绩,而只关心参加考试的人数、平均成绩、最低分和最高分。输入要求:第1行输入T,表示组数,第二行输入一些 整数,表示学生的成绩,每个数之间用一个空格分开,-1表示输入结束。输出要求:占4行,第一行表示学生人数n,第二行表示最高分,第三行表示最低分,第四行表示平均分,其中只有平均分是小数(只保留一位小数),其余为整数 输入实例:1 50 90 87 67 84 99 56 74 82 94-1输出实例:10 100 50 78.3回文数p 问题描述:输入

3、一个整数,判断一个该数是否为回文数。问题描述:输入一个整数,判断一个该数是否为回文数。p 输入要求:输入一系列的整数输入要求:输入一系列的整数n n,n100000000n100000000p 输出要求:如果是回文数输出输出要求:如果是回文数输出YesYes,如果不是回文数输出,如果不是回文数输出NoNop 输入样例:输入样例:12341234 121121 -12321-12321 100100p 输出样例:输出样例:NoNo YesYes YesYes NoNo 素数因子 问题描述:输入一个整数,输出它的所有素数因子 输入要求:输入一系列的整数(0,1,-1除外),每行一个 输出要求:输出

4、所有的素数因子,每个因子之间用1个空格分开,最后一个因子后面没有空格 输入样例:8 30 125 输出样例:2 2 2 2 3 5 5 5 5#includeusing namespace std;int main()int m,k=2;cinm;if(m0)cout-;m=-m;while(km)if(m%k=0)coutk;m=m/k;elsek+;coutmendl;return 0;6174数字黑洞 问题描述:任意一个每位数字不完全相同的4位正整数,将各位上数字重新组合成一个最大数和一个最小数相减,重复这个过程,必定得到6174。输入要求:输入一系列的4位正整数,占一行。输出要求:占一

5、行,最终得到6174的变换次数。输入样例:1234 1000 6174 输出样例:3 5 0 爱因斯坦走楼梯:有一条长阶梯,若每步跨2阶,则最后剩1阶;若每步跨3阶,则最后剩2阶;若每步跨5阶,则最后剩4阶;若每步跨6阶,则最后剩5阶;若每步跨7阶,则最后正好一阶不剩;问该楼梯最少有多少阶?#includeusing namespace std;int main()int n=7;while(n%2!=1)|(n%3!=2)|(n%5!=4)|(n%6!=5)n=n+7;coutnendl;return 0;#includeusing namespace std;int main()int n

6、=7;while(!(n%2=1)&(n%3=2)&(n%5=4)&(n%6=5)n=n+7;coutnendl;return 0;do while 循环语句p格式:格式:dodo 语句序列语句序列 while(while(表达式表达式);表达式表达式语句序列语句序列非非00最大公约数和最小公倍数p 问题描述:从键盘上输入两个整数,求它们的最大公约数和最小问题描述:从键盘上输入两个整数,求它们的最大公约数和最小公倍数。公倍数。p 输入要求:每行输入两个整数,每个整数之间用一个空格分开。输入要求:每行输入两个整数,每个整数之间用一个空格分开。p 输出要求:第一行输出最大公约数,第二行输出最小公倍

7、数输出要求:第一行输出最大公约数,第二行输出最小公倍数p 输入样例:输入样例:3 63 6 24 13 24 13p 输出样例:输出样例:3 3 6 6 1 1 312 312开始开始输入输入a,br=a%ba=bb=rr!=0输出输出a结束结束非非00 问题描述:计算与正整数n相等的二进制代码中有1和0的个数。输入要求:输入一些正整数,每个占一行 输出要求:占两行,第一行是1的个数,第二行是0的个数。输入样例:8 93 输出样例:1 3 5 2Cantor表问题描述:现代数学的著名证明之一是问题描述:现代数学的著名证明之一是Georg CantorGeorg Cantor证明了有理数是证明了

8、有理数是可以枚举的。他利用下面一张表来证明这一命题:可以枚举的。他利用下面一张表来证明这一命题:1/1 1/2 1/3 1/4 1/5 1/1 1/2 1/3 1/4 1/5 2/1 2/2 2/3 2/42/1 2/2 2/3 2/43/1 3/2 3/3 3/1 3/2 3/3 4/1 4/2 4/1 4/2 5/1 5/1 我们以我们以Z Z字型给上表每一项编号字型给上表每一项编号 。第。第1 1项是项是1/1 1/1,然后第,然后第2 2项是项是1/21/2,2/12/1,3/13/1,2/2.2/2.输入描述:整数输入描述:整数N N(1N100000001N10000000)输出描

9、述:表中的第输出描述:表中的第N N项项 样例输入:样例输入:7 7样例输出:样例输出:1/41/4#includeusing namespace std;int main()int n,i,j;cinn;i=0;/斜线序号j=n;/第n项在某行的位置doi+;j=j-i;while(j0);j=j+i;if(i%2=0)coutj/i+1-jendl;else couti+1-j/jendl;return 0;角谷猜想 问题描述:定义这样一个整数函数f(n),当n是偶数时,f(n)=n/2;当n是奇数时,f(n)=(3n+1)/2。这个猜想是说:对于任意的整数n,计算f(n),f(f(n),

10、f(f(f(n),.,若干步之后,总会得到1。对于给定的n,求出数字序列中第一次出现1的步数。输入要求:输入一些正整数n,每个正整数占一行。输出要求:占一行,输出对应n得到1的步数。输入样例:5 10 输出样例:4 5pwhilewhile语句和语句和dowhiledowhile语句语句 比较比较n whilewhile语句是先判断后执行,只要不满足条件,循环体语语句是先判断后执行,只要不满足条件,循环体语句根本不会执行句根本不会执行 n dowhiledowhile语句是先执行后判断,不管条件是否满足,循语句是先执行后判断,不管条件是否满足,循环体语句总会执行一次环体语句总会执行一次#inc

11、lude using namespace std;int main()int i,sum=0;cini;while(i=10)sum+=i;i+;coutsumendl;return 0;#include using namespace std;int main()int i,sum=0;cini;do sum+=i;i+;while(i=10);coutsumendl;return 0;for循环语句p格式:格式:for(for(1;2;)3)语句序列语句序列 表达式表达式2表达式表达式1非非00表达式表达式3语句序列语句序列p语句序列称为循环体。语句序列称为循环体。p当语句序列只有单条语句

12、,表示复合语句的当语句序列只有单条语句,表示复合语句的可以省略。可以省略。p表达式表达式1 1一般为赋值表达式,给控制变量赋初值;如果省略表达式一般为赋值表达式,给控制变量赋初值;如果省略表达式1 1,这时,这时forfor语句为如语句为如p表达式表达式2 2一般为关系表达式或逻辑表达式,称为循环控制条件一般为关系表达式或逻辑表达式,称为循环控制条件p表达式表达式3 3一般为赋值表达式,给控制变量增量或减量一般为赋值表达式,给控制变量增量或减量pforfor(;)。(;)。转移语句 continue语句形式:continue;功能:结束本次循环,开始下一次循环continue只能用在循环结构中

13、,而不能用于其它控制结构 表表 达达 式式 1表表 达达 式式 2 语语 句句 序序 列列 1语语 句句 序序 列列 2后后 续续 语语 句句非非 0非非 000continue#includeusing namespace std;int main()int k;for(k=100;k=200;k+)if(k%3=0)continue;coutk“;return 0;break语句 格式:break;功能:跳出switch结构或结束本层循环。说明:break语句只能用于switch或循环结构中 表达式表达式1表达式表达式2 语句序列语句序列1语句序列语句序列2后续语句后续语句非非0非非000

14、break#includeusing namespace std;#define PI 3.1415926int main()int r;double area;for(r=1;r100.0)break;coutareaendl;return 0;阶乘之和问题描述:求非负整数的阶乘之和问题描述:求非负整数的阶乘之和输入要求:输入一个非负整数输入要求:输入一个非负整数n(n13)n(n13),占一行,占一行输出要求:占一行,阶乘的和输出要求:占一行,阶乘的和输入样例:输入样例:0 0 5 5 1212输出样例:输出样例:1 1 154154 522956314522956314#include#

15、includeusing namespace std;int main()int i,sum,p,n;while(cinn)sum=0;p=1;if(n0)exit(0);for(i=1;i=n;i+)p=p*i;sum=sum+p;coutsum+1endl;return 0;分数数列p问题描述:已知分数数列问题描述:已知分数数列 2/12/1,-3/2-3/2,5/35/3,-8/58/5,对于输入的正整数对于输入的正整数n n,输出对应项的分数。,输出对应项的分数。p输入要求:输入一些输入要求:输入一些 正整数正整数n(n50)n(n50),分别占一行。,分别占一行。p输出要求:占一行,

16、表示分数数列中的对应项。输出要求:占一行,表示分数数列中的对应项。p输入样例:输入样例:3 3 26 26p输出样例:输出样例:5/35/3 -317811/196418 -317811/196418#includeusing namespace std;int main()int a=2,b=1,i;int n;cinn;for(i=2;i=n;i+)a=a+b;b=a-b;if(n%2=0)cout-1*a/bendl;else couta/b4)(4),每个数占一行。,每个数占一行。p输出要求:占一行,两个素数的和。输出要求:占一行,两个素数的和。p输入样例:输入样例:4 4 20 20

17、p输出样例:输出样例:2+22+2 3+17 3+17开开始始输输入入np=1p=p+1q=n-pp是是素素数数q是是素素数数p_flag=1p_flag=0q_flag=1q_flag=0p_flag*q_flag=0输输出出p和和q结结束束非非00非非00非非00#include#include#includeusing namespace std;int main()int i,p,q,n,p_flag,q_flag;while(cinn)if(n%2=1)|n4)/cout数据输入出错n”;exit(0);p=1;dop=p+1;q=n-p;p_flag=1;for(i=2;i=sqr

18、t(p);i+)if(p%i=0)p_flag=0;break;q_flag=1;if(p_flag=1)for(i=2;i=sqrt(q);i+)if(q%i=0)q_flag=0;break;while(p_flag*q_flag=0);coutp+qendl;return 0;绝对素数p 问题描述:如果一个正整数是素数,它的反位数也是素问题描述:如果一个正整数是素数,它的反位数也是素数,这称这样的数为绝对素数数,这称这样的数为绝对素数。p 输入要求:输入一些正整数输入要求:输入一些正整数n n,每个占一行,每个占一行p 输出要求:占一行,输出输出要求:占一行,输出1 1到到n n之间名绝

19、对素数的个数。之间名绝对素数的个数。p 输入样例:输入样例:1010p 20 20p 输出样例:输出样例:p 4 4p 7 7#include#includeusing namespace std;int main()int i,j,k,m,flag1=0,flag2=0,ans=0,n,p;cinn;for(i=2;i=n;i+)m=sqrt(i);for(j=2;jm)flag1=1;if(flag1=1)p=i;k=0;while(p)k=k*10+p%10;p=p/10;m=sqrt(k);for(j=2;jm)flag2=1;if(flag1*flag2=1)ans+;coutansendl;return 0;36可编辑感谢下感谢下载载37可编辑感谢下感谢下载载

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(《循环结构程序设计》课件.pptx)为本站会员(晟晟文业)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|