《最新学习情境三循环结构PPT课件.ppt》由会员分享,可在线阅读,更多相关《最新学习情境三循环结构PPT课件.ppt(93页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、进入夏天,少不了一个热字当头,电扇空调陆续登场,每逢此时,总会想起进入夏天,少不了一个热字当头,电扇空调陆续登场,每逢此时,总会想起那一把蒲扇。蒲扇,是记忆中的农村,夏季经常用的一件物品。记忆中的故那一把蒲扇。蒲扇,是记忆中的农村,夏季经常用的一件物品。记忆中的故乡,每逢进入夏天,集市上最常见的便是蒲扇、凉席,不论男女老少,个个手持乡,每逢进入夏天,集市上最常见的便是蒲扇、凉席,不论男女老少,个个手持一把,忽闪忽闪个不停,嘴里叨叨着一把,忽闪忽闪个不停,嘴里叨叨着“怎么这么热怎么这么热”,于是三五成群,聚在大树,于是三五成群,聚在大树下,或站着,或随即坐在石头上,手持那把扇子,边唠嗑边乘凉。孩
2、子们却在周下,或站着,或随即坐在石头上,手持那把扇子,边唠嗑边乘凉。孩子们却在周围跑跑跳跳,热得满头大汗,不时听到围跑跑跳跳,热得满头大汗,不时听到“强子,别跑了,快来我给你扇扇强子,别跑了,快来我给你扇扇”。孩。孩子们才不听这一套,跑个没完,直到累气喘吁吁,这才一跑一踮地围过了,这时子们才不听这一套,跑个没完,直到累气喘吁吁,这才一跑一踮地围过了,这时母亲总是,好似生气的样子,边扇边训,母亲总是,好似生气的样子,边扇边训,“你看热的,跑什么?你看热的,跑什么?”此时这把蒲扇,此时这把蒲扇,是那么凉快,那么的温馨幸福,有母亲的味道!蒲扇是中国传统工艺品,在是那么凉快,那么的温馨幸福,有母亲的味
3、道!蒲扇是中国传统工艺品,在我国已有三千年多年的历史。取材于棕榈树,制作简单,方便携带,且蒲扇的表我国已有三千年多年的历史。取材于棕榈树,制作简单,方便携带,且蒲扇的表面光滑,因而,古人常会在上面作画。古有棕扇、葵扇、蒲扇、蕉扇诸名,实即面光滑,因而,古人常会在上面作画。古有棕扇、葵扇、蒲扇、蕉扇诸名,实即今日的蒲扇,江浙称之为芭蕉扇。六七十年代,人们最常用的就是这种,似圆非今日的蒲扇,江浙称之为芭蕉扇。六七十年代,人们最常用的就是这种,似圆非圆,轻巧又便宜的蒲扇。蒲扇流传至今,我的记忆中,它跨越了半个世纪,圆,轻巧又便宜的蒲扇。蒲扇流传至今,我的记忆中,它跨越了半个世纪,也走过了我们的半个人
4、生的轨迹,携带着特有的念想,一年年,一天天,流向长也走过了我们的半个人生的轨迹,携带着特有的念想,一年年,一天天,流向长长的时间隧道,袅长的时间隧道,袅学习情境三循环结构l任务描述:任务描述:1、计算1+2+3+n的值,n值由键盘任意录入。2、计算1*2*3*n的值,n值由键盘任意录入。3、编写程序,输出100999之间个位是5且能被7整除的数,要求每行输出5个数,且统计一共有多少个这样的数。(枚举)4、求5、求 (即求1!+2!+3!+4!+5!+20!)6、打印出所有水仙花数,所谓水仙花数是指一个三位数,其各位数字立方和等于该本身。例如:153是一个水仙花数,因为153=。(枚举)7、有一
5、分数序列:求出这个数列的前20项之和。3.1 使用使用for语句实现循环控制语句实现循环控制#include main()int i=0;for(i=1;i=3;i=i+1)printf(*n);printf(*Welcome*n);printf(*n);printf(Display%d time(s).nn,i);getch();#include main()int i=0;for(i=1;i=3;i=i+1)printf(*n);printf(*Welcome*n);printf(*n);printf(Display%d time(s).nn,i);getch();2=3#include
6、main()int i=0;for(i=1;i=3;i=i+1)printf(*n);printf(*Welcome*n);printf(*n);printf(Display%d time(s).nn,i);getch();3=3#include main()int i=0;for(i=1;i=3;i=i+1)printf(*n);printf(*Welcome*n);printf(*n);printf(Display%d time(s).nn,i);getch();4=3运行结果:运行结果:*Welcome*Display 1 time(s).*Welcome*Display 2 time(
7、s).*Welcome*Display 3 time(s).真真假假i3i=1i=i+1输出信息输出信息流程图流程图一般形式:for(表达式1;表达式2;表达式3)重复执行部分;执行流程:表达式2循环体假(0)真(非0)for表达式1表达式3归纳分析归纳分析v说明:lfor语句中表达式1,表达式2,表达式3 类型任意,都可省略,但分号;不可省l无限循环:for(;)例 用for循环求#include main()int i,sum=0;for(i=1;i=100;i+)sum+=i;printf(%d,sum);for(循环变量赋初值;循环条件;循环变量增值)循环体语句;vfor语句一般应用形
8、式:例:#include main()int i=0;for(i=0;i10;i+)putchar(a+i);运行结果:abcdefghij例:#include main()int i=0;for(;i10;i+)putchar(a+i);例:#include main()int i=0;for(;i10;)putchar(a+(i+);例:#include main()int i=0;for(;i10;putchar(a+i),i+);main()int i,j,k;for(i=0,j=100;i=j;i+,j-)k=i+j;printf(%d+%d=%dn,i,j,k);#includem
9、ain()char c;for(;(c=getchar()!=n;)printf(%c,c);3.1.2 使用使用for语句重复出算术题语句重复出算术题【实实例例3.2】编编写写程程序序,给给小小学学生生出出4道道100以以内内2个个数数的的加加法法题题,每每道道题题25分分,根根据据学学生生的的答答案案,显显示示实际得分。实际得分。P52编程思路编程思路要出要出4道题,需重复道题,需重复4次出题操作次出题操作对每题,要及时判断答案的正确对每题,要及时判断答案的正确性,当答案正确时要累加分数性,当答案正确时要累加分数#include#include#include main()int i=0,
10、op1=0,op2=0,pupil=0,answer=0,total=0;randomize();for(i=1;i=4;i+)op1=random(100);op2=random(100);printf(%d+%d=,op1,op2);scanf(%d,&pupil);answer=op1+op2;if(answer=pupil)total=total+25;printf(The score is:%dn,total);在编写程序时,参插着使在编写程序时,参插着使用顺序、分支、循环结构用顺序、分支、循环结构 3.5.1 学学会会找找出出Fibonacci数数列的各项,掌握递推算法列的各项,掌
11、握递推算法【实实 例例 3.8】编编 写写 程程 序序,输输 出出Fibonacci数数列列的的前前30项项(每每行输出行输出5项)。项)。P63i30?i30?是是i i增增1 1否否输出第输出第1、2项项计算计算f3f3将将f2f2中的值赋给中的值赋给f1,f3f1,f3中的值赋给中的值赋给f2f2输出输出f3#include main()int i=0;long f1=0,f2=1,f3=0;printf(%10ld%10ld,f1,f2);for(i=3;i=30;i+)f3=f1+f2;printf(%10ld,f3);f1=f2;f2=f3;if(i%5=0)printf(n);据
12、前项和后项关系求解据前项和后项关系求解递递推推算算法法计算计算1+2+3+100的值的值sum=0;for(i=1;i=100;i+)sum=sum+i;或或sum=0;i=1;while(i=100)sum=sum+i;i=i+1;计算计算n!值值f=1;for(i=1;i=n;i+)f=f*i;或或f=1;i=1;while(i=n)f=f*i;i=i+1;计算计算1!+2!+3!+n!的值的值f=1;s=0;for(i=1;i=n;i+)f=f*i;s=s+f;计算计算30+31+32+33+3n的值的值f=1;sum=1;for(i=1;i=n;i+)f=f*3;sum=sum+f;计
13、算计算 的值的值s=1;sum=0;for(i=1;i=100;i+)sum=sum+s*1.0/i;s=-s;1、计算、计算1+2+3+n的值,的值,n值由键盘值由键盘任意录入。任意录入。#includevoid main()int n,sum=0,i;scanf(%d,&n);for(i=1;i=n;i+)sum=sum+i;printf(%d,sum);2、计算、计算1*2*3*n的值,的值,n值由键盘任意录入。值由键盘任意录入。#includevoid main()int n,i;float s=1;scanf(%d,&n);for(i=1;i=n;i+)s=s*i;printf(%f
14、,s);3、编写程序,输出、编写程序,输出100999之间个位是之间个位是5且能被且能被7整除的数,要求每行整除的数,要求每行输出输出5个数,且统计一共有多少个这样的数。个数,且统计一共有多少个这样的数。#includevoid main()int s,i=0;for(s=100;s=999;s+)if(s%10=5&s%7=0)printf(%5d,s);i+;if(i%5=0)printf(n);4、求、求#includevoid main()int k;int sum1=0;float sum,sum2=0;for(k=1;k=100;k+)if(k=10)sum2+=1.0/k;if(
15、k=50)sum1+=k*k;sum1+=k;sum=sum1+sum2;printf(sum=%fn,sum);5、求、求 (即求(即求1!+2!+3!+4!+5!+20!)#includevoid main()double sum=0;int i;double f=1;for(i=1;i=20;i+)f=f*i;sum=sum+f;printf(sum=%lfn,sum);6、打印出所有、打印出所有水仙花数水仙花数,所谓,所谓水仙花数水仙花数是指一个三位数,其是指一个三位数,其各位数字立方和等于该本身。例如:各位数字立方和等于该本身。例如:153是一个水仙花数,是一个水仙花数,因为因为15
16、3=。void main()int s;int a,b,c;for(s=100;s=999;s+)a=s%10;b=s%100/10;c=s/100;if(s=a*a*a+b*b*b+c*c*c)printf(%dn,s);7、有一分数序列:、有一分数序列:求出这个数列的前求出这个数列的前20项之和。项之和。#includevoid main()int i;float sum=0,s;int a=2,b=1,t;for(i=1;ib)t=a;a=b;b=t;printf(%d,%d,a,b);scanf(%d%d,&a,&b);A.!a=b B.a!=b C.a=b D.a=b61、下面程序的
17、功能是在输入的一批正整数中求出最大者,输入下面程序的功能是在输入的一批正整数中求出最大者,输入0结束循环,请选择结束循环,请选择填空填空 。#include main()int a,max=0;scanf(%d,&a);while(_)if(maxa)max=a;scanf(%d,&a);printf(%d,max);A.a=0 B.a C.!a=1 D.!a BBl l资讯:资讯:3.2.1使用使用while语句为学生分班语句为学生分班3.2.2使用使用while语句计算近似值语句计算近似值3.2 使用使用while语句实现循环控制语句实现循环控制P54返回返回3.2.1 使用使用while
18、语句为学生分班语句为学生分班【实实例例3.3】编编写写程程序序,根根据据所所输输入入的的学学生生英英语语成成绩绩,把把学学生生分分成成A、B两两个个班班,其其中中大大于于等等于于85分分的的学学生生分分到到A班班,其其余余的的学学生生分分到到B班班,如如果果输输入入的的成成绩绩为为负负数数,认认为为没没有有其其他他学学生生,最最后后分分别显示别显示A、B班的总人数。班的总人数。P54成绩成绩0?成绩成绩8585?显示两个班人数显示两个班人数是是否否输入输入1个学生成绩个学生成绩分到分到A班班分到分到B班班是是否否A班人数增班人数增1B班人数增班人数增1输入输入1个学生成绩个学生成绩#inclu
19、de main()int a=0,b=0,score=0;scanf(%d,&score);while(score=0)if(score=85)printf(To class An);a+;else printf(To class Bn);b+;scanf(%d,&score);printf(Class A:%d,Class B:%dn,a,b);v一般形式:while(表达式)循环体语句;v执行流程:expr循环体假(0)真(非0)while3.2.2 使用使用while语句计算近似值语句计算近似值【实例实例3.4】编写程序,计算数学式编写程序,计算数学式的的近近似似值值,直直到到最最后后一
20、一项项的的值值小小于于10-4为止。为止。P56定义变量定义变量n,sumn,sum1/n110-4?显示显示sum的值的值是是否否将将1/n累加到累加到sum中中n增增2#include main()int n=1;float sum=0.0;while(float)1/n=1e-4)sum=sum+(float)1/n;n=n+2;printf(sum=%fn,sum);实型数实型数10-41、编程,为了比较、编程,为了比较A、B两家相邻超市的顾客访问人数,某人站在小超市门口用两家相邻超市的顾客访问人数,某人站在小超市门口用两种颜色的豆子统计人数,若顾客进两种颜色的豆子统计人数,若顾客进A
21、家,加家,加1粒红豆,进粒红豆,进B家,加家,加1粒绿粒绿豆,最后根据红豆和绿豆的个数比较。豆,最后根据红豆和绿豆的个数比较。#includevoid main()int flag;int red=0,green=0;scanf(%d,&flag);while(flag=1|flag=2)if(flag=1)red+;else green+;scanf(%d,&flag);if(redgreen)printf(A家受欢迎家受欢迎n);else if(greenred)printf(B家受欢迎家受欢迎n);elseprintf(两家一样受欢迎两家一样受欢迎n);2、编程,求满足、编程,求满足 的
22、最大的的最大的n值。值。#includevoid main()float sum=0;int n=1;while(sum=10000)sum=sum+n*n*n;n+;printf(最大的最大的n值为值为:%dn,n-2);3、编程,计算、编程,计算 (n值由键盘输入)。值由键盘输入)。#includevoid main()float s=1;int i,n;scanf(%d,&n);for(i=2;i=n;i+)s=s-1.0/(i*i);printf(s=%fn,s);4、猴子吃桃问题。猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第、猴子吃桃问题。猴子第一天摘下若干个桃
23、子,当即吃了一半,还不过瘾,又多吃了一个。第二天早上又将剩下的桃子吃掉一半,又多吃一个。以后每天早上都吃了前一天剩下的一半零一个。二天早上又将剩下的桃子吃掉一半,又多吃一个。以后每天早上都吃了前一天剩下的一半零一个。到第到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘多少桃子。天早上想再吃时,见只剩下一个桃子了。求第一天共摘多少桃子。#includevoid main()int i,s=1;for(i=9;i=1;i-)s=(s+1)*2;printf(一共有桃子一共有桃子%dn,s);5、输入一行字符,分别统计出其中英文字母、空格、数字和其、输入一行字符,分别统计出其中英文字母、空格
24、、数字和其他字符的个数。他字符的个数。(直到输入回车为止。)(直到输入回车为止。)#includevoid main()char ch;int zm=0,kg=0,sz=0,qt=0;scanf(%c,&ch);while(ch!=n)if(ch=A&ch=a&ch=0&ch=9)sz+;elseqt+;scanf(%c,&ch);printf(字母为:字母为:%d个个n空格为:空格为:%d个个n数字为数字为:%d个个n其他字符为其他字符为:%d个个n,zm,kg,sz,qt);6、统计公元、统计公元1年到公元年到公元2000年的闰年个数。年的闰年个数。#includevoid main()i
25、nt year;int num=0;for(year=1;year=2000;year+)if(year%400=0|year%4=0&year%100!=0)num+;printf(闰年的个数为闰年的个数为:%dn,num);任务描述:任务描述:任务描述:任务描述:若运行以下程序时,从键盘输入若运行以下程序时,从键盘输入ADescriptor(CR表示回车表示回车),则下面程序的运行结果是,则下面程序的运行结果是 。#includemain()char c;int v0=0,v1=0,v2=0;doswitch(c=getchar()case a:case A:case e:case E:c
26、ase i:case I:case o:case O:case u:case U:v1+=1;default:v0+=1;v2+=1;while(c!=n);printf(v0=%d,v1=%d,v2=%dn,v0,v1,v2);A.v0=7,v1=4,v2=7 B.v0=8,v1=4,v2=8 C.v0=11,v1=4,v2=11 D.v0=12,vl=4,v2=123.3 使用使用do-while语句实现循环控制语句实现循环控制 P58返回返回D73以下程序段以下程序段 。x=-1;do x=x*x;while(!x);A是死循环是死循环 B.循环执行二次循环执行二次 C循环执行一次循环执
27、行一次 D.有语法错误有语法错误74以下描述中正确的是以下描述中正确的是 。A由于由于do-while循环中循环体语句只能是一条可执行语句,所以循环体内不能循环中循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句使用复合语句 Bdo-while循环由循环由do开始,用开始,用while结束,在结束,在while(表达式表达式)后面不能写分号后面不能写分号 C在在do-while循环体中,一定要有能使循环体中,一定要有能使while后表达式值变为零后表达式值变为零(假假)的操作的操作 Ddo-while循环中,根据情况可以省略循环中,根据情况可以省略whileCCl l资讯:资讯:3.
28、3.1使用使用do-while语句计算做题正确率语句计算做题正确率3.3.2使用使用do-while语句编写打字练习程序语句编写打字练习程序3.3 使用使用do-while语句实现循环控制语句实现循环控制 P58返回返回3.3.1 使使用用do-while语语句计算做题正确率句计算做题正确率【实实例例3.5】编编写写程程序序,给给小小学学生生出出若若干干道道100以以内内2个个数数的的加加法法题题,直直到到学学生生做做对对5道道题题为为止止,最后显示学生做题的正确率。最后显示学生做题的正确率。P58做做 对对 题题 数数5?5?出出1道算术题道算术题输入学生答案输入学生答案计算正确答案计算正确
29、答案答案正确答案正确?做对题数增做对题数增1是是否否显示正确率显示正确率产生产生2个数个数“Wrong”总题数增总题数增1否否是是计算正确率计算正确率#include#include#include main()int op1=0,op2=0,pupil=0,answer=0,right=0,total=0;float rate=0.0;srand(time(0);doop1=rand%100;op2=rand%100;printf(%d+%d=,op1,op2);scanf(%d,&pupil);answer=op1+op2;if(answer=pupil)right+;elseprintf
30、(Wrongn);total+;while(right5);rate=(float)right/total*100;printf(rate is:%fn,rate);do-while语句v一般形式:do 循环体语句;while(表达式);v执行流程:do循环体expr假(0)真(非0)while3.3.2 使使用用do-while语语句编写打字练习程序句编写打字练习程序【实实例例3.6】编编写写程程序序,根根据据已已显显示示的的一一段段句句子子练练习习打打字字,按按回回车车键可随时停止练习。键可随时停止练习。P60定义变量定义变量chch是回车符是回车符?输入输入1个字符个字符显示所输入字符显
31、示所输入字符开始开始结束结束否否是是#include main()char ch=0;printf(Those who dive beneath the surface find solutions others cannot see.n);do ch=getch();putchar(ch);while(ch!=r);3.4 用用break语句强行退出循环语句强行退出循环【实实例例3.7】编编写写程程序序,在在已已报报名名的的100名名考考生生中中,补补招招总总分分高高于于420分分的的学学生生,但但按按照照报报名名的的先先后顺序只补招后顺序只补招3名学生。名学生。P61返回返回总分总分420
32、420输入总分输入总分否否是是i100i100给给i i赋赋1 1是是被录取信息被录取信息录取人数增录取人数增1 1已录取已录取3 3人人没被录取信息没被录取信息否否i i增增1 1否否是是#include main()int score=0,i=0,total=0;for(i=1;i420)printf(Admited.score:%dn,score);total+;if(total=3)break;else printf(Not admited.n);3.4 用用continue语句继续下一次循环语句继续下一次循环#includevoid main()int t,x;for(t=1;t=1
33、0;t+)scanf(%d,&x);if(x0)continue;printf(%3d,x);v功能:结束本次循环,跳过尚未执行的语句,进行下一次是否执行循环体的判断下面程序的运行结果是下面程序的运行结果是 。#include stdio.hmain()int i;for(i=1;in)m=m-n;while(nm)n-=m;printf(m=%dn,m);A.m=13 B.m=11 C.m=1 D.m=252.该程序的输出结果是该程序的输出结果是 。for(i=0;i5;i+)for(j=1;j10;j+)if(j=5)break;if(i2)break;printf(%d,j);print
34、f(%dn,i);A.10,3 B.5,2 C.5,3 D.10,2CC69下面程序的运行结果是下面程序的运行结果是 。#include stdio.hmain()int i;for(i=1;i=5;i+)if(i%2)printf(*);else continue;printf(#);printf(#);A.*#*#$B.*#*#*#C.*#*#$D.#*#*$70下面程序的运行结果是下面程序的运行结果是 。main()int i,j,a=0;for(i=0;i2;i+)for(j=0;j=4;j+)if(j%2)break;a+;a+;printf(%dn,a);B43.5.3用枚举算法求
35、解百元百鸡问题用枚举算法求解百元百鸡问题3.5.4学会判断质数的算法学会判断质数的算法3.5 学会使用循环设计典型算法学会使用循环设计典型算法P63返回返回3.5.3 用用枚枚举举算算法法求求解解百元百鸡问题百元百鸡问题【实实例例3.10】编编写写程程序序,输输出出百百元百鸡问题的所有可能结果。元百鸡问题的所有可能结果。P67编程思路编程思路假设公鸡、母鸡和小鸡假设公鸡、母鸡和小鸡的个数分别为的个数分别为x,y,z 5x+3y+z/3=100 x+y+z=100 x的取值在的取值在020之间;同理之间;同理y的取值在的取值在033之间之间#includemain()intx=0,y=0,z=0
36、;for(x=0;x=20;x+)for(y=0;y=33;y+)z=100-x-y;if(15*x+9*y+z=300)printf(cock=%-3dhen=%-3dchicken=%-3dn,x,y,z);不重复、不遗漏不重复、不遗漏地一一列举出来地一一列举出来枚枚举举算算法法双重循环双重循环循环的嵌套循环的嵌套v三种循环可互相嵌套,层数不限v外层循环可包含两个以上内循环,但不能相互交叉v嵌套循环的执行流程(1)while()while().(2)do do while();.while();(3)while()do while();.(4)for(;)do while();while(
37、).v嵌套循环的跳转禁止:从外层跳入内层跳入同层的另一循环向上跳转l打印九九乘法表打印九九乘法表修改:如何去掉重复数据,打印三角形的九九乘法表?修改:如何去掉重复数据,打印三角形的九九乘法表?main()int i,j;for(i=1;i=9;i+)/*I 作为外循环控制变量,控制被乘数变化*/for(j=1;j=9;j+)/*j作为外循环控制变量,控制乘数变化*/printf(“%d*%d=%-4d”,i,j,i*j);printf(“n”);例例2:输出如下形式图案。:输出如下形式图案。*main()int i,j;for(i=1;i=6;i+)/*外层循环用于控制输出的行数*/for(j
38、=1;j=8;j+)/*内层循环用于控制在一行上输出的“*”的个数*/printf(“*”);printf(“n”);/*换行 */3.5.4 学会判断质数的算法学会判断质数的算法【实实例例3.11】编编写写程程序序,判判断断任任意输入的一个自然数是否为质数。意输入的一个自然数是否为质数。P70in-1in-1是是i i增增1 1否否i=2i=2n n能被能被i i整除整除?是是否否i=n?i=n?是是否否输出输出n的值的值输出输出n不是质数不是质数输出输出n是质数是质数#include main()int i=0,n=0;scanf(%d,&n);for(i=2;i=n-1;i+)if(n%
39、i=0)break;if(i=n)printf(%d isn,n);else printf(%d is notn,n);#include#include main()int i=0,k=0,n=0;scanf(%d,&n);k=sqrt(n);for(i=2;ik)printf(%d isn,n);else printf(%d is notn,n);改改进进的的方方法法【实实例例3.12】已已知知x、y均均为为质质数数,编编写写程程序序输输出出x+y21的的所所有有可可能能解,并统计可能解的个数。解,并统计可能解的个数。(1)使)使x取取2判定判定x是否为质数是否为质数如果如果x为质数,则使为
40、质数,则使y取取2判定判定y是否为质数是否为质数若为质数,输出若为质数,输出x、y,并累加可能解的个数,并累加可能解的个数y增增1,若,若y21-x,转到,转到,否则转到(,否则转到(2)(2)x增增1,若,若x21,转到,转到,否则转到(,否则转到(3)(3)结束求解过程)结束求解过程#include#include main()int i=0,k=0,x=0,y=0,s=0;for(x=2;x=21;x+)k=sqrt(x);for(i=2;ik)for(y=2;y=21-x;y+)k=sqrt(y);for(i=2;ik)printf(%3d+%-2dk时时x为质数为质数ik时时y为质数
41、为质数 printf(n s=%dn,s);getch();1、假设、假设x、y、z为偶数,且满足为偶数,且满足x+2y+z=16,输出所有可,输出所有可能的能的x、y、z的值。(可用三重循环)的值。(可用三重循环)#includevoid main()int x,y,z;for(x=0;x=16;x=x+2)for(y=0;y=8;y=y+2)for(z=0;z=16;z=z+2)if(x+2*y+z=16)printf(x=%d,y=%d,z=%dn,x,y,z);1.2、将、将100元钱换成元钱换成10元、元、5元、元、1元的零钱,如果要求换成元的零钱,如果要求换成30张,张,编程输出所
42、有可能的换法。编程输出所有可能的换法。2.#include3.void main()4.5.int shi,wu,yi;6.for(shi=0;shi=10;shi+)7.for(wu=0;wu=20;wu+)8.9.yi=30-shi-wu;10.if(shi*10+wu*5+yi=100)11.12.printf(十元的是十元的是%d张张n五元的是五元的是%d张张n一元的是一元的是%d张张n,shi,wu,yi);13.printf(n);14.15.16.3、编程,打印图案,要求行数由键盘输入。、编程,打印图案,要求行数由键盘输入。#includevoid main()int i,j,n;printf(请输入图案的行数请输入图案的行数:);scanf(%d,&n);for(i=1;i=n;i+)for(j=1;j=n-i;j+)printf();for(j=1;j=2*i-1;j+)printf(*);printf(n);贯穿教学全过程的实例贯穿教学全过程的实例 P74返回返回根据教材第根据教材第7476页上机操作页上机操作结束语结束语谢谢大家聆听!谢谢大家聆听!93