第14章语言程序设计实例 3.算法分析 (1)整个程序由主控模块main()、输入模块 Input 每门课程的平均分和方差计算模块 asian ()、每个学生的总分平均分及方差计算模块 tatun ()、排序模块 sortfun()、输出模块 output()六 个模块组成。各模块之间顺序执行。 (2)实际学生人数n、实际课程门数m、原始成绩数 据由键盘输入或从磁盘数据文件读取
第 14章 C语言程序设计实例 3. 算法分析 (1) 整个程序由主控模块main( )、 输入模块 input( )、 每门课程的平均分和方差计算模块asfun ( )、每个学生的总分平均分及方差计算模块tasfun ( )、排序模块sortfun( )、输出模块output( )六 个模块组成。各模块之间顺序执行。 (2) 实际学生人数n、实际课程门数m、原始成绩数 据由键盘输入或从磁盘数据文件读取
第14章语言程序设计实例 (3)原始成绩数据由键盘输入时,将送磁盘文件 SCORE DAT保存 (4)方差计算公式为数据平方和的平均值减去数据平 均值的平方 方差大,表示数据相互之间差别较大;方差小,表 示数据相互之间差别较小 (5)排序采用选择排序方法,利用序号数组保存学 生名次,无需交换数据 (6)处理结果与原始成绩数据合并后用另一磁盘文 件 STUDEN DAT保存
第 14章 C语言程序设计实例 (3) 原始成绩数据由键盘输入时, 将送磁盘文件 SCORE.DAT保存。 (4) 方差计算公式为数据平方和的平均值减去数据平 均值的平方。 方差大,表示数据相互之间差别较大;方差小,表 示数据相互之间差别较小。 (5) 排序采用选择排序方法, 利用序号数组保存学 生名次, 无需交换数据。 (6) 处理结果与原始成绩数据合并后用另一磁盘文 件STUDEN.DAT保存
第14章语言程序设计实例 4.参考程序 tt include "stdio. h t include "math. h t definen 1000 t define m 30 void input( void asfun() void tasfun() void sortfun() void output ()
第 14章 C语言程序设计实例 4. 参考程序 #include ″stdio.h″ #include ″math.h″ #define N 1000 #define M 30 void input( ); void asfun( ); void tasfun( ); void sortfun( ); void output( );
第14章语言程序设计实例 int n, m: struct stt fint num; char name: float score [M] B sta [N]: char sname LM[16] float avsI [M, Svs1 [] float total [n, avs2[ n, svs2 int sort [N; KH*2D1
第 14章 C语言程序设计实例 int n, m; struct stt {int num; char *name; float score[M]; }sta[N]; char sname[M][16]; float avs1[M], svs1[M]; float total[N], avs2[N], svs2; int sort[N]; [KH*2D]
第14章语言程序设计实例 main()/泮*主控函数* fclrscr ()i input()i asfun() tasfun () sortfun() output ()
第 14章 C语言程序设计实例 main( )/*主控函数*/ {clrscr( ); input( ); asfun( ); tasfun( ); sortfun( ); output( ); }