C语言程序设计PPT_第4章_循环结构程序设计文档.pptVIP

  • 1
  • 0
  • 约1.08万字
  • 约 40页
  • 2018-02-27 发布于湖北
  • 举报

C语言程序设计PPT_第4章_循环结构程序设计文档.ppt

C语言程序设计PPT_第4章_循环结构程序设计文档

C语言程序设计(第3版)张磊编著 清华大学出版社 4.6.3 学生成绩分等统计 算法的粗略流程图 “一个学生数据的输入和统计”框的流程图 2.实现程序e4-12.c C语言程序设计(第3版)张磊编著 清华大学出版社 4.6.3 学生成绩分等统计 #includestdio.h #define N 5 /* 班级人数为5 */ void main() { int a,b,ave,i; int s1,s2,s3,s4,s5; /* 定义各等级的统计变量 */ s1=s2=s3=s4=s5=0; /* 为统计变量赋初值 */ for(i=1;i=N;i++) { printf(Input data(a,b): ); scanf(%d,%d,a,b); /* 输入一个学生的两门课成绩 */ ave=(a+b)/2; switch(ave/10) { case 10: case 9: s1++; break; case 8: s2++; break; case 7: s3++; break; case 6: s4++; break; default: s5++; } } printf(excellence: %d\n,s1); printf(all right: %d\n,s2); printf(middling: %d\n,s3); printf(pass: %d\n,s4); printf(fail: %d\n,s5); } C语言程序设计(第3版)张磊编著 清华大学出版社 4.6.4 最大公约数 例4-13 求两个整数的最大公约数。 问题分析与算法设计 两个数相除,若余数为0,则除数就是这两个数的最大公约数;若余数不为0,则以除数作为新的被除数,以余数作为新的除数,继续相除,……,直到余数为0时,除数即为两数的最大公约数。 /* program e4-13.c */ #includestdio.h void main() { int a,b,t; printf(Input a,b: ); scanf (%d,%d,a,b); if(ab) { t=a;a=b;b=t; } while((t=a%b)!=0) { a=b; b=t; } printf(Result: %d\n, b); } C语言程序设计(第3版)张磊编著 清华大学出版社 4.6.5 Fibonacci数列 例4-14 将Fibonacci数列的前20项求出来,并以每行5个数的形式显示输出。 问题分析: Fibonacci数列: 1,1,2,3,5,8,13,21,34,…… Fibonacci数列第n项的一般表示: f1=1 f2=2 fn=fn-1+fn-2 n2 递推的算法如下: ⑴ 初始项:f1=1,f2=1; ⑵ 求一个新项: f1+f2→f; ⑶ 为求下一个新项作准备:f2→f1,f→f2; ⑷ 重复⑵、⑶步骤,直到求出要求的项数为止。 /* program e4-14.c */ #includestdio.h #define N 20 void main ( ) { long int f,f1,f2; int i; f1=f2=1; printf(%10ld%10ld,f1,f2); for(i=3;i=N;i++) { f=f1+f2; f1=f2; f2=f; printf(%10ld,f); if(i%5==0) printf(\n); } } C语言程序设计(第3版)张磊编著 清华大学出版社 4.6.6 乘法表 例4-15 编写一个程序,输出如下所示的乘法表。 1*1=1 1*2=2 2*2=4 1*3=3 2*3=6 3*3=9 1*4=4 2*4=8 3*4=12 4*4=16 …… …… 1*9=9 2*9=18 3*9=27 4*9=36 …… 9*9=81 问题分析与算法设计 乘法表具有如下特点: ⑴ 共有9行; ⑵ 每行的式子个数很有规律,即:属于第几行,就有几个式子; ⑶ 对于每一个式子,既与所在的行数有关,又与所在行上的具体位置有关。 /* program e4-15.c */ #includestdio.h void main() { int i,j; for(i=1;i=9;i++) { for

文档评论(0)

1亿VIP精品文档

相关文档