CH3程序控制结构课件_第1页
CH3程序控制结构课件_第2页
CH3程序控制结构课件_第3页
CH3程序控制结构课件_第4页
CH3程序控制结构课件_第5页
已阅读5页,还剩75页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、CH3程序控制结构PPT课件CH3 程序控制程序控制结构结构E-Mail:CH3程序控制结构PPT课件分析问题分析问题构建算法构建算法选择选择描述描述方法方法描述算法描述算法利用利用C程序程序语句描述算法语句描述算法中的操作中的操作根据根据C程序结构程序结构完整完整C程序代码程序代码调试程序调试程序调试数据调试数据分析结果分析结果1.问题分析与算法设计问题分析与算法设计2.编写编写程序程序3.程序编译与运行调试程序编译与运行调试复习思考复习思考:编写编写C程序的基本过程程序的基本过程?CH3程序控制结构PPT课件【例】已知华氏温度,求 对应的摄氏温度-顺序结构程序设计 摄氏温度 C=(5/9)

2、(F-32)1.1.问题分析与算法设问题分析与算法设计计 算法描述算法描述.自然语言表示:自然语言表示:()输入华氏温度值()输入华氏温度值()根据公式计算()根据公式计算()输出摄氏温度()输出摄氏温度CH3程序控制结构PPT课件输入半径fahr计算celsius输出celsius开始开始输入输入fahr计算计算celsius输出输出celsius结束结束scanf(“%d”,& fahr);celsius=5*(fahr - 32) / 9; printf(fahr = %d, celsius = %dn, fahr, celsius);传统流程图传统流程图图图CH3程序控制结构P

3、PT课件2.编写代码#include void main() int celsius, fahr; /变量定义变量定义 scanf(%d,&fahr); /变量使用变量使用 celsius=5*(fahr - 32) / 9; printf(fahr = %d, celsius = %dn, fahr, celsius);/输出结果输出结果3.编辑编译连接运行编辑编译连接运行分析结果是否分析结果是否与实际问题相与实际问题相符合符合?CH3程序控制结构PPT课件编程序风格讨论编程序风格讨论? ? 在上述程序中很显然与用户交互在上述程序中很显然与用户交互性不好性不好. .若希望上述程序的运

4、行情况若希望上述程序的运行情况如图所示如图所示, ,应如何修改程序应如何修改程序CH3程序控制结构PPT课件可将上述程序改为可将上述程序改为#include void main() int celsius, fahr; /变量定义变量定义 printf(请输入华氏温度:请输入华氏温度:n); scanf(%d,&fahr); /变量使用变量使用 celsius=5*(fahr - 32) / 9; printf(华氏温度华氏温度%d对应的摄氏温度是对应的摄氏温度是%dn, fahr, celsius);/输出结果输出结果CH3程序控制结构PPT课件【实例【实例1】编写程序求分段函数的值

5、】编写程序求分段函数的值1.问题分析与算法设计问题分析与算法设计 根据根据x的值选择不同的函数计算,要求输出结果保留的值选择不同的函数计算,要求输出结果保留2位小数位小数算法方法算法方法1自然语言自然语言415( )32.510.515xxyf xxx输入输入计算分段函数计算分段函数输出输出分支结构程序设计分支结构程序设计 CH3程序控制结构PPT课件415( )32.510.515xxyf xxxX X1515成立成立不成立不成立y=4x/3y=4x/3z=2.5xz=2.5x-10.5-10.5输入输入x x输出输出y y算法方法算法方法2N-S图图CH3程序控制结构PPT课件#inclu

6、de #include void main()void main() double x, y; double x, y; printf( printf(请输入请输入x:nx:n); /); /输入提示输入提示 scanf(scanf(%lf%lf, &x); /, &x); /输入数据输入数据 if(x=15) if(x=15) /if else/if else语句语句 y = 4 y = 4 * * x / 3; x / 3; else else y = 2.5 y = 2.5 * * x-10.5; x-10.5; printf(y=f(%f)=%.2fn,x,y); pr

7、intf(y=f(%f)=%.2fn,x,y); 2.编写代码3.调试运行CH3程序控制结构PPT课件若用若用if语句实现语句实现#include void main() double x, y; printf(请输入请输入x:n); /输入提示输入提示 scanf(%lf, &x); /输入数据输入数据 if(x15) /if语句语句 y = 2.5 * x-10.5; printf(y=f(%f)=%.2fn,x,y); CH3程序控制结构PPT课件温馨提示温馨提示1-1-软件测试的基本思想软件测试的基本思想 软件测试软件测试精心设计一批精心设计一批测试用例测试用例 输入数据,预期

8、输出结果输入数据,预期输出结果 ,然后分别,然后分别用这些测试用例运行程序,看程序的实际运行结果与预期输用这些测试用例运行程序,看程序的实际运行结果与预期输出结果是否一致。出结果是否一致。if(x = 15) y = 4 * x / 3;else y = 2.5 * x - 10.5;9.5f(9.500000)=12.6715f(15.000000)=20.0021.3f(21.300000)=42.75CH3程序控制结构PPT课件if (表达式表达式) 语句语句1else 语句语句2if(x = 15) y = 4 * x / 3; else y = 2.5 * x - 10.5;语句语句

9、1表达式表达式语句语句2真真假假温馨提示温馨提示2-if2-if语句一般形式语句一般形式(P(P4949) )CH3程序控制结构PPT课件课堂思考:比较比较P47-49【例【例3.1】、】、 【例【例3.2】在结构上以及实现方法与上述例子在结构上以及实现方法与上述例子异同?异同?CH3程序控制结构PPT课件004( )01532.510.515xxyf xxxx【实例【实例3】分段计算水费】分段计算水费l1问题分析与算法设计问题分析与算法设计 思路:思路:CH3程序控制结构PPT课件2.编写代码# include void main() double x, y; printf(请输入请输入x:

10、n); scanf(%lf, &x); if (x0) y=0; else if(x=15) y=4*x/3; else y=2.5*x-10.5; printf(y=f(%.2f) = %.2fn, x, y); 3.调试运行CH3程序控制结构PPT课件if (表达式表达式1) 语句语句1else if (表达式表达式2) 语句语句2else if (表达式表达式n-1) 语句语句n-1else 语句语句n温馨提示温馨提示1-1-if-elseifif-elseif语句一般形式语句一般形式假假表达式表达式1表达式表达式2语句语句1语句语句2语句语句n-1语句语句n真真表达式表达式n-

11、1真真假假真真假假假假CH3程序控制结构PPT课件#include void main( ) int a=0,b=0,c=0,d=0,k; scanf(%d,&k); if(k=1) a+; else if(k=2)b+;else if(k=3)c+;else d+;printf(a=%d,b=%d,c=%d,d=%d,a,b,c,d); a=1,b=0,c=0,d=0a=1,b=0,c=0,d=0当输入的值为当输入的值为2, 2,结果是多少结果是多少? ?当输入的值为当输入的值为1, 1,结果是多少结果是多少? ?课堂思考:a=1,b=0,c=0,d=0a=1,b=0,c=0,d=0

12、CH3程序控制结构PPT课件【例【例3 3】依据教材】依据教材P50 P50 【例【例3.33.3】从键盘上输入两个实数,根据需要选择运算类型。从键盘上输入两个实数,根据需要选择运算类型。其运行情况如图所示其运行情况如图所示输入两个实数输入两个实数输出选择菜单输出选择菜单选择运算类型选择运算类型进行相应运算进行相应运算并输出并输出1.问题分析与算法设计问题分析与算法设计 CH3程序控制结构PPT课件printf(nn%20s,运算列表菜单运算列表菜单n);printf(%20s,1.和运算和运算(+)n);printf(%20s,2.差运算差运算(-)n);printf(%20s,3.积运算积

13、运算(*)n);printf(%20s,4.除运算除运算(/)n);printf(请选择运算种类请选择运算种类(选择选择1/2/3/4):);输出选择菜单输出选择菜单输入两个实数输入两个实数printf(请输入两个实数请输入两个实数(之间用之间用,分分隔隔)n);scanf(%lf,%lf,&real_num1,&real_num2);CH3程序控制结构PPT课件printf(请选择运算种类请选择运算种类(选择选择1/2/3/4):);scanf(%d,&chioce);选择运算类型选择运算类型进进行行相相应应运运算算并并输输出出switch(chioce)/根据选择的

14、运算种类进行相应的运算根据选择的运算种类进行相应的运算 case 1: real_num=real_num1+real_num2;printf(%.2f+%.2f=%.2fn,real_num1,real_num2,real_num); break;case 2: real_num=real_num1-real_num2; printf(%.2f-%.2f=%.2fn,real_num1,real_num2,real_num); break;default:printf(没有该运算没有该运算!n); CH3程序控制结构PPT课件#include void main( )double real_

15、num1,real_num2,real_num;int chioce; printf(请输入两个实数请输入两个实数(之间用之间用,分隔分隔)n);scanf(%lf,%lf,&real_num1,&real_num2);printf(nn%20s,运算列表菜单运算列表菜单n);printf(%20s,1.和运算和运算(+)n);printf(%20s,2.差运算差运算(-)n);printf(%20s,3.积运算积运算(*)n);printf(%20s,4.除运算除运算(/)n);printf(请选择运算种类请选择运算种类(选择选择1/2/3/4):);scanf(%d,&am

16、p;chioce);2.编写代码CH3程序控制结构PPT课件switch(chioce)/根据选择的运算种类进行相应的运算根据选择的运算种类进行相应的运算 case 1: real_num=real_num1+real_num2;printf(%.2f+%.2f=%.2fn,real_num1,real_num2,real_num); break;case 2: real_num=real_num1-real_num2; printf(%.2f-%.2f=%.2fn,real_num1,real_num2,real_num); break;case 3:real_num=real_num1*r

17、eal_num2; printf(%.2f*%.2f=%.2fn,real_num1,real_num2,real_num);break;case 4: real_num=real_num1/real_num2;printf(%.2f%.2f=%.2fn,real_num1,real_num2,real_num);break;default:printf(没有该运算没有该运算!n); CH3程序控制结构PPT课件3.调试运行测试用例CH3程序控制结构PPT课件switchswitch(表达式)(表达式)casecase常量表达式常量表达式1:1:语句语句1 1casecase常量表达式常量表达

18、式2:2:语句语句2 2casecase常量表达式常量表达式n:n:语句语句n ndefault :default :语句语句n+1n+1 温馨提示温馨提示1- 1- switch语句语句(p52)CH3程序控制结构PPT课件按照考试成绩的等级输出百分制分数段按照考试成绩的等级输出百分制分数段#include void main ()char ch;ch=getchar();ch=(ch=a&ch=z)?ch-32:ch;switch(ch)case A:printf(85100n); case B:printf(7084n); case C:printf(6069n); case D

19、:printf(85100n); default:printf(errorn);是否达到目标?break;break;break;break;课堂思考1:CH3程序控制结构PPT课件运输公司对用户计算运费。运输公司对用户计算运费。路程()越远,每公里运费越低。标准如下:路程()越远,每公里运费越低。标准如下: 没有折扣没有折扣 折扣折扣 折扣折扣 折扣折扣 折扣折扣 折扣折扣设每公里每吨货物的基本运费为,货物重为,距离为,设每公里每吨货物的基本运费为,货物重为,距离为,折扣为,则总运费的计算公式为:折扣为,则总运费的计算公式为:* * * *()() 课堂思考2:CH3程序控制结构PPT课件分

20、析折扣变化的规律性:分析折扣变化的规律性:折扣的折扣的“变化点变化点”都是的倍数都是的倍数 sc=s/250折扣d250km00250s50012500s10002,351000s20004,5,6,782000s30008,9,10,1110 300012,13,.15l1问题分析与算法设计问题分析与算法设计 CH3程序控制结构PPT课件#include void main ()int c,s;float p,w,d,f;scanf(%f,%f,%d,&p,&w,&s);c=(s=3000)?12: s/250;switch(c) case 0:d=0;break;

21、case 1:d=2;break; case 2: case 3:d=5;break; case 4: case 5:case 6:case 7:d=8;break; case 8: case 9: case 10:case 11:d=10;break; case 12:d=15;break; f=p*w*s*(1-d/100.0);printf(freight=%15.4fn,f);2.算法描述算法描述(省略省略).代码描述代码描述CH3程序控制结构PPT课件 -1 (x0)算法1:输入x若x0,则y=1输出y 1.问题分析与算法设计问题分析与算法设计 可用三个可用三个ifif语句实现语句实

22、现CH3程序控制结构PPT课件算法算法2 #includevoid main() int x,y; printf(请输入整数请输入整数x:n); scanf(%d,&x); if(x=0) if(x0) y=1; else y=0;else y=-1; 程序程序4:y=0;if(x=0) if(x0) y=1; else y=-1;程序程序3: y=-1; if(x!=0) if(x0) y=1; else y=0; 正确?正确?正确?课堂思考1:CH3程序控制结构PPT课件if()if()if()if() 语句语句1 1elseelse 语句语句2 2elseelseif()if()

23、 语句语句3 3elseelse 语句语句4 4内嵌内嵌ifif在在ifif语句中又包含一个或多个语句中又包含一个或多个ifif语句称为语句称为ifif语句的嵌套。形式:语句的嵌套。形式:温馨提示温馨提示- - if的嵌套的嵌套(p52)CH3程序控制结构PPT课件匹配规则:匹配规则:elseelse总是与它上面最近的、未配对的总是与它上面最近的、未配对的ifif语句配对。语句配对。例:if()if() 语句1elseif() 语句2else 语句3if()if() 语句1elseif() 语句2 else 语句3当当ifif和和elseelse数目不同时,可以加花括号来确定配对关系。数目不同

24、时,可以加花括号来确定配对关系。希望希望配对配对CH3程序控制结构PPT课件课堂思考:比较比较P52-53【例【例3.4】在结构上以】在结构上以及实现方法与上述例子异同?及实现方法与上述例子异同?CH3程序控制结构PPT课件【例【例5 5】依据教材】依据教材P50 P50 【例【例3.53.5】5555位学生排成位学生排成4 4排排, ,学号学号1-551-55号号, ,按照按照1-41-4报报数数. .任意给定一个学号任意给定一个学号, ,显示学生在第几列显示学生在第几列1.问题分析与算法设计问题分析与算法设计 用用switch语句语句CH3程序控制结构PPT课件2.编编写写代代码码 #in

25、clude void main() int i,n;i=0;printf(请输入学号请输入学号:n);scanf(%d,&n);if (n55)printf(Error!);elsei=n%4;switch(i)case 1:printf(%d号同学在第号同学在第1列列!n,n);break;case 2:printf(%d号同学在第号同学在第2列列!n,n);break;case 3:printf(%d号同学在第号同学在第3列列!n,n);break;case 0:printf(%d号同学在第号同学在第4列列!n,n);break;CH3程序控制结构PPT课件循环结构程序设计循环结构

26、程序设计 【实例【实例6 6】求】求1 1到到100100的和依据的和依据p56p56【例【例3.63.6】 l1 1问题分析与算法设计问题分析与算法设计 求在一定范围内(求在一定范围内(1 1n n)、满足一定条件)、满足一定条件( (不超过不超过n)n)的若干整数的和,求累加和。的若干整数的和,求累加和。 思路:设置一个变量思路:设置一个变量(s)(s),其初值为,其初值为0 0,然后在,然后在1 1n n中的所有数,将它们一个一个累加到中的所有数,将它们一个一个累加到s s中。中。l一步累加:一步累加:s = s + i; s = s + i; li i 值的变化通过值的变化通过i=i+

27、1i=i+1实现实现CH3程序控制结构PPT课件实例分析实例分析100.321s3si612336i=i+1s=s+is=s+i实际上实际上: :就是重复执行就是重复执行下列操作下列操作: :s=s+Ii=i+1直到直到i i超过超过100100CH3程序控制结构PPT课件s=0, i=1i=100s=s+ii=i+1输出输出s算法描述:将上述算法思想用算法描述:将上述算法思想用N-S图描述为图描述为:当当型型循循环环CH3程序控制结构PPT课件s=0, i=1i=100s=s+ii=i+1输出输出ss=0;i=1;while( )i=100s=s+i;i=i+1;循环体循环体循环结构循环结构

28、printf(“100以内的和是以内的和是:%d“,s);可用可用for、while、do-while实现实现用用while语句描述语句描述CH3程序控制结构PPT课件void main() s=0;i=1;while(i=100) s=s+i; i+; printf(s=%dn,s);int s,i;#include stdio.h主函数的首部主函数的首部算法实现算法实现数据类型数据类型2编程序编程序CH3程序控制结构PPT课件#include stdio.hvoid main()int s,i;printf(s=%dn,s); s=0;i=1;while( )i=100s=s+i;i=i+

29、1;i=1,s=0for( ; ; ) ; s=s+i i=100 i+ #include stdio.hvoid main()int s,i;printf(s=%dn,s); 用用for语句描述语句描述CH3程序控制结构PPT课件#include stdio.hvoid main()int s=0,i=1;printf(s=%dn,s); dowhile(i=100);s=s+i;i+;用用do-while语句实现语句实现CH3程序控制结构PPT课件while (条件条件) 循环体语句循环体语句; 真真假假while下一条语句下一条语句表达式表达式循环体语句循环体语句循环条件循环条件循环体循

30、环体一条语句一条语句温馨提示温馨提示1- 1- while语句语句(p57)CH3程序控制结构PPT课件do 循环体语句循环体语句 while (表达式表达式)先循环先循环后判断后判断真真假假表达表达式式循环体语句循环体语句do-while的下一条语句的下一条语句温馨提示温馨提示2- 2- do- -while语句语句(p58)CH3程序控制结构PPT课件l while 是先判别条件,再决定是否循环;l do-while 是先至少循环一次,然后再根据循环的结果决定是否继续循环。while 和 do-while 的比较真真假假表达式表达式循环体语句循环体语句do-while的下一条语句的下一条语

31、句真真假假while的下一条语句的下一条语句表达式表达式循环体语句循环体语句CH3程序控制结构PPT课件格式:格式:for(表达式表达式1;表达式表达式2;表达表达3) 语句;语句; 温馨提示温馨提示3- 3- for语句语句(p60)CH3程序控制结构PPT课件100以内的自然数求和以内的自然数求和 #include “stdio.h”Void main( ) int i,sum; for(i=1,sum=0;i=100;i+)sum=sum+i; printf(sum=%dn,sum); for语句使用灵活、形式多样语句使用灵活、形式多样 for(i=1, sum=0;i=100;) su

32、m=sum+i; i+; for(i=1, sum=0;i=100;) sum=sum+i+;for(i=1, sum=1;i+100;) sum=sum+i; for(i=1,sum=1;+i=100;) sum=sum+i; i=1, sum=1;for(; +i=100;)sum=sum+i; CH3程序控制结构PPT课件【实例【实例7】编程实现编程实现S=1!+2!+10!循环嵌套循环嵌套(p62)从从1!逐个求到逐个求到10!,每求到一每求到一个阶乘就求和个阶乘就求和求求解解思思路路? ?CH3程序控制结构PPT课件t=1; for(j=1;j=i;j+)/求求i! t=t*j;s=

33、s+t;/阶乘求和阶乘求和for(i=1;i=10;i+) s=0;这就是一个循环嵌套结构这就是一个循环嵌套结构CH3程序控制结构PPT课件#includestdio.h#includemath.hvoid main( )int i,j;long t,s; s=0; for(i=1;i=10;i+) t=1; for(j=1;j=i;j+)t=t*j; /求求i! s=s+t;/阶乘求和阶乘求和 printf(1!+2!+3!+.+10!=%ld,s); 程程序序代代码码CH3程序控制结构PPT课件单重循环实现与双重循环实现的比较单重循环实现与双重循环实现的比较s=0;t=1;s=0;t=1;

34、for(i=1;i=10;i+)for(i=1;i=10;i+) t=t t=t* *i;s=s+t;i;s=s+t;#includestdio.hvoid main( )int i,j;long t,s; s=0; for(i=1;i=10;i+) t=1; for(j=1;j=i;j+)t=t*j; /求求i! s=s+t;/阶乘求和阶乘求和 printf(1!+2!+3!+.+10!=%ld,s); 用单重循环如何实现用单重循环如何实现?CH3程序控制结构PPT课件思考:思考:编程实现编程实现S=1+(1+2)+(1+2+3)+(1+2+10)?CH3程序控制结构PPT课件请比较请比较P

35、62 【例【例3.9】 (中国古典算术问题(中国古典算术问题-搬搬砖问题砖问题)某工地需要搬运砖块,)某工地需要搬运砖块,36块砖,块砖,36人搬,人搬,已知男人一人搬已知男人一人搬4块,女人一人搬块,女人一人搬3块,小孩两人搬块,小孩两人搬1块。问男、女、小孩各需多少人?块。问男、女、小孩各需多少人?CH3程序控制结构PPT课件用三重循环实现用三重循环实现-完整代码见备注完整代码见备注for (men = 0; men = 36; men+) for (women = 0; women = 36; women+) for (child = 0; child = 36; child+) if

36、(men+women+child=36) & (men*4+women*3+child*0.5=36) printf(men=%d women=%d child=%dn, men, women, child);CH3程序控制结构PPT课件for (men = 0; men = 9; men+)for (women = 0; women = 12; women+) child = 36 women men; if (men * 4 + women * 3 + child * 0.5 = 36) printf(men=%d women=%d child=%dn, men, women, c

37、hild);比较循环次数比较循环次数?用双重循环实现用双重循环实现-完整代码见备注完整代码见备注CH3程序控制结构PPT课件思考:思考:P63 【例【例3.10】 2008!的末尾有多少个!的末尾有多少个0?CH3程序控制结构PPT课件在在whilewhile、forfor、do-whliedo-whlie语句的循环体内中又语句的循环体内中又包含了另一个完整的循环结构,以包含了另一个完整的循环结构,以forfor为例为例内循环体内循环体 for(A1;A2;A3)B1for(A11;A21;A31) B2B3外循环体外循环体 温馨提示:温馨提示:什么是循环嵌套什么是循环嵌套? ?CH3程序控制

38、结构PPT课件求解求解A1A1求解求解A2A2执行执行B1B1求解求解A11A11求解求解A21A21执行执行B2B2求解求解A31A31结束循环结束循环YNYN执行执行A3A3CH3程序控制结构PPT课件三、三、非正常结束循环(非正常结束循环(p65p65) 求求解解思思路路? ?范围:范围:if (n%7=0) printf(%d ,n); for(n=1;n=100;n+)100, 1 n条件:条件:n能够被能够被7整除整除【实例【实例8】找出】找出1100中能够被中能够被7整除的数整除的数.(p66 【例【例3.12】 )CH3程序控制结构PPT课件程序编写程序编写#include#i

39、ncludevoid main()void main() int n; int n; for(n=1;n=100;n+) for(n=1;n=100;n+) continuecontinuebreakbreak结果如何?结果如何?if (n%7= =0) printf(%d ,n);if (n%7!=0)printf(%d,n);CH3程序控制结构PPT课件2、continue 格式:格式: continue; 语义:结束本次循环语义:结束本次循环1、break语句语句 形式:形式: break; 语义:语义: 结束循环结束循环温馨提示:温馨提示:beakbeak和和continueconti

40、nue的含义的含义? ?CH3程序控制结构PPT课件【实例【实例9】输出】输出100200之间的素数之间的素数(P70 【例【例3.16】 )。)。关键是判断素数!何谓素数关键是判断素数!何谓素数?只能被只能被1和它本身整除的数和它本身整除的数!问题分析与算法设计问题分析与算法设计CH3程序控制结构PPT课件0%1, 2inni若不是素数若0%1,2inni for(i=2;i=n-1;i+)if(n%i=0) break;if(i= =n) printf(“n是素数是素数);若若n%i!=0,n%i!=0,继续循环继续循环直到所有直到所有i i的值取完的值取完, ,n n是不是素数?是不是素

41、数?又这样判断又这样判断n n是是素数?素数?CH3程序控制结构PPT课件for(i=2;i=n-1;i+)if(n%i=0) break; if(i= =n) printf(“n是素数是素数);思考:若思考:若n n的值是,共循环多少次?的值是,共循环多少次?次次思考:循环结束后思考:循环结束后i i的值是多少?的值是多少?次次改进!改进!如果如果n n是更大的一个素数,效率就是更大的一个素数,效率就会降低!怎么办?会降低!怎么办?CH3程序控制结构PPT课件 k=sqrt(n); for(i=2;i=k+1) printf(“n是素数是素数);不是素数若0%,2inni与上述算法等价的算法

42、与上述算法等价的算法CH3程序控制结构PPT课件k=(int)sqrt(n); for(i=2;i=k+1) printf(t%2d,n);for(n=101;n=200;n+=2) void main( ) int n,i,k; #includemath.h#includestdio.h你认为这个程序最难理解的是什么?怎么办?CH3程序控制结构PPT课件引入标志变量引入标志变量f f来表示来表示n n是否是素数是否是素数在已学过的知识中用到过没有?在已学过的知识中用到过没有?CH3程序控制结构PPT课件f f=0; f=1;/假设假设f为为1时,时,n为素数,为素数,f为为0时,时,n不是素

43、数不是素数#includestdio.h#includemath.hvoid main( ) int n,i,k, ; for(n=101;n=200;n+=2) k=(int)sqrt(n); for(i=2;i=k+1f=1fCH3程序控制结构PPT课件#includestdio.h#includemath.hvoid main( ) int n,i,k,f; for(n=101;n=200;n+=2) k=(int)sqrt(n);f=1; for(i=2;i=k;i+) if(n%i=0)f=0;break; if(f)printf(%8d,n); 每行输出多少个数?如果每行输出个数怎

44、么办?10个个CH3程序控制结构PPT课件#includestdio.h#includemath.hvoid main( ) int n,i,k,f,m=0; for(n=101;n=200;n+=2) k=(int)sqrt(n);f=1; for(i=2;i=k;i+) if(n%i=0)f=0;break; if(f)printf(%8d,n);m+; if(m%5=0)printf(n); 本例题主要讨论了几个问题:.素数的算法实现.标志变量的使用.格式控制方法CH3程序控制结构PPT课件【实例【实例10】编程求】编程求60个个Fibonacci数输出。假设数输出。假设每行输出每行输出6个数个数,。Fibonacci数列的初值分别数列的初值分别是是0和和1。P59【例【例3-8】分析:任意第三个数是它前面两个数的和。即分析:任意第三个数是它前面两个数的和。即 f(n)= f(n-1)+f(

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论