通信工程 C 语言强化训练实验报告学号:4090831 姓名:李惠提交日期:2010-6-27 成绩:评语:教师签字:东北大学秦皇岛分校计算机工程系动态建立学生成绩管理程序1、强化训练目的a)C语言基本知识的巩固和综合运用。基本数据类型、基本控制结构、数组、指针、函数、结构体和共用体。b)C语言高级编程。链表基本操作、文件的基本操作、图形和声音制作。c)程序的结构化设计。d)编辑、设置、编译、调试、执行。e)C语言结合实际问题的综合设计。2、设计题目功能(1)、可以在计算机上输入n 个学生的学号、姓名、 m门课程的成绩并存档,并能够打印(显示)出学生信息;(2)、能够自动计算出每个学生的总分和平均分,能按总分由大到小统计出总名次并打印;(3)、可以自动找出成绩在全班平均分及平均分之上的学生名单和某门课不及格的学生名单并打印。3、设计题目要求从键盘输入一个班 n(未知)个学生的学号、姓名、 m(未知)门课的成绩,分别统计下列内容: 1.统计每个学生的总分和平均分; 2.按总分由大到小排出名次; 3.打印出成绩在全班平均分及平均分之上的学生名单; 4.打印出某门课不及格的学生名单4、程序流程图传统程序流程图如下:<1> 算法函数流程图:(1) (2)(3)(4) (5) (6) <2>主函数流程图:abcdef开始menu_select()=?3 4 5 0 1 2 6 system("pause"); 结束无条件①②③④⑤主函数流程图d ④c ①Input(stud,n)j进行输a Display(stud,n)进 行 输②b ③all(stud,n)求 总aver(stud, n)求平均分all(stud,n)求总分sort(stud, n)排序输出:“每个学生 的 总 分 和 平输出:“按总分由大到小排输 出 每 个 学 生的总分和平均输出按总分由大到小排名输出:“下面进行 学 生 信 息输出:“所有学 生 信 息 如主函数流程图5、主要代码#include /* 调用头文件,引用库函数*/ #include #include #include #define M 15 /* 宏定义 */ #define N 80 int m; /* 用于记录科目数*/ /******************************************************************/ typedef struct /* 定义结构体数组 */ { char num[10]; /* 学生学号 */ char name[20]; /* 学生姓名姓名 */ int score[M]; /* 单科成绩 */ int all_score;/* 总分 */ int aver_score; /* 平均分 */ }Student; Student stud[N]; /* 结构体数...