1、实验报告模板实验3实验报告模板-实验3课程名称程序设计基础实验项目名称实验3 学生管理系统V1.0实验时数7实验类型操作性验证性设计性综合性指导老师卢敏实验地点(包括机号 )6号机房实验日期2015年12月7日学生姓名 邓高峰班级网络15学号 15同组成员无教师评阅(教师根据实际情况在两种成绩的评定方法中确定其一)等级制成绩:优 良 中 及 不及格百分制成绩:(具体的教师批阅,教师可在符合的选项中勾选,同时根据具体情况补充其它评语,特别是必须指出实验过程存在的问题与不足之处。)实验目的明确; 操作方法与步骤正确;设计文稿(表格、程序、数据库、网页)符合要求; 界面美观;布局合理;程序结构合理;
2、算法正确;语法、语义正确;题解正确;实验结果正确;保存路径正确; 实验分析总结全面;解析完整;文字流畅;实验报告规范;其他:评阅教师签名实验报告内容(不同类型的实验课对实验报告可有不同要求,各个课程的实验报告可以根据自己的学科特点做适当的调整,由任课教师确定填写的内容,学生进行勾选,具体内容用附页填写。)实验目的和要求实验内容和原理主要仪器设备操作方法与实验步骤实验数据记录和处理实验结果与分析讨论、心得丽 水 学 院 计 算 机 实 验 报 告丽 水 学 院 计 算 机 实 验 报 告一、实验目的 1. 掌握数组的定义和初始化的方法;2. 掌握排序、统计分析等常用算法;3. 培养在程序中加注释
3、的习惯;4. 进一步掌握循环嵌套的应用;5. 掌握C语言中定义函数的方法;6. 掌握函数传值调用的方法;7. 掌握数组作函数参数的使用方法;8. 掌握排序、查找、统计分析等常用算法。二、实验环境 硬件:Pentium以上的计算机。 软件:Windows XP操作系统、Visual C+6.0和C-Free等集成环境。 三、实验内容和结果 1学生管理系统V1.0。 程序1 学生成绩统计。从键盘输入一个班(全班最多不超过30人)学生某门课的成绩,当输入成绩为负值时,输入结束,分别实现下列功能: (1)统计不及格人数并打印不及格学生名单; (2)统计成绩在全班平均分及平均分之上的学生人数,并打印这些
4、学生的名单; (3)统计各分数段的学生人数及所占的百分比。 程序1源程序: #include#define N 30int main() int numN,scoreN,i,j=0,k,count=0,sum=0,t=0,stuN=0; float ave=0; for(i=0;iN;i+) printf(第%d个同学的成绩:,i+1); scanf(%d%d,&numi,&scorei); sum=sum+scorei; if(numi0) break; k=i; ave=sum/k; for(i=0;ik;i+) if(scorei60) count+; printf(不及格学生学号:%d
5、 分数:%dn,numi,scorei); printf(不及格人数为:%3dn,count);for(i=0;iave) t+; printf(高于平均分学生学号 %d 分数 %dn,numi,scorei); printf(高于平均分人数:%dn,t);for(i=0;ik;i+) if(scorei60) j=0; else j=(int)scorei-50)/10; stuj+; for(j=0;j1;j+)printf(0到59分数段人数比例:%.2fn,(float)stuj/k);for(j=1;j5;j+)printf(%d到%d分数段人数比例:%.2fn,50+10*j,59
6、+10*j,(float)stuj/k);for(j=5;j6;j+)printf(100分人数比例:%.2fn,(float)stuj/k);return 0; 程序1运行结果: 思考题: 在编程实现对数据的统计任务时,需要注意什么问题? 注意输入输出格式,以及对班级人数的统计。 程序2 成绩排名次。某班期末考试科目为数学(MT)、英语(EN)和物理(PH),有最多不超过30人参加考试。考试后要求: (1)计算每个学生的总分和平均分; (2)按总分成绩由高到低排出成绩的名次; (3)打印出名次表,表格内包括学生编号、各科分数、总分和平均分; (4)任意输入一个学号,能够查找出该学生在班级中的
7、排名及其考试分数。 程序2源程序: #include#define M 3#define N 30void Input(long num,int scoreM,int n);void GetSumAver(int scoreM, int n, int sum, float aver);void Sort(long num,int scoreM, int n, int sum, float aver);void Print(long num, int scoreM, int n,int sum, float aver);int Search(long num, int n, long x);in
8、t main() int n,i,j,k,r,scoreNM,sumN; long numN,x; float averN; printf(期末考试的学生人数(不超过30人):); scanf(%d,&n); Input(num,score,n); GetSumAver(score,n,sum,aver); Sort(num,score,n,sum,aver); Print(num,score,n,sum,aver); printf(查询的考生的学号:); scanf(%d,&x); i=Search(num,n,x); if(i!=-1) printf(学号:%dn排名:第%dn数学:%d分
9、n英语:%d分n物理:%d分n,numi,i+1,scorei0,scorei1,scorei2); else printf(此人未参加此次考试!n); void Input(long num,int scoreM,int n) int i,j; for(i=0;in;i+) printf(请输入第%d个学生的学号及数学、英语和物理考试的成绩:n,i+1); scanf(%ld,&numi); for(j=0;jM;j+) scanf(%d,&scoreij); void GetSumAver(int scoreM, int n, int sum, float aver) int i,j; f
10、or(i=0;in;i+) sumi=0; for(j=0;jM;j+) sumi=sumi+scoreij; averi=(float)sumi/M; void Sort(long num,int scoreM, int n, int sum, float aver) int t,t1,i,j,k,m; long t2; float t3; for(i=0;in-1;i+) k=i; for(j=i+1;jsumi) k=j; for(m=0;mM;m+) t=scorekm; scorekm=scoreim; scoreim=t; t1=sumk;sumk=sumi;sumi=t1; t2
11、=numk;numk=numi;numi=t2; t3=averk;averk=averi;averi=t3; void Print(long num, int scoreM, int n,int sum, float aver) int i,j; printf(n-n); printf( 学生期末考试三门科目成绩汇总(按总分排名)n); printf(n); printf( 学号 数学 英语 物理 总分 平均分 名次 n); printf(n); for(i=0;in;i+) printf( %6d ,numi); for(j=0;jM;j+) printf( %3d ,scoreij);
12、if(averi=100.0) printf( %3d 100 1 n,sumi); else printf( %3d %4.1f %d n,sumi,averi,i+1); if(in-1) printf(n); printf(n); printf(n-n);/在学号数组中顺序查找学生的学号int Search(long num, int n, long x) int i; for(i=0;in;i+) if(numi=x) return (i); return (-1); 程序2运行结果: 思考题: (1)如果增加一个要求:要求按照学生的学号由小到大对学号、成绩等信息进行排序,那么程序如何修改呢? (2)如果要求程序运行后先打印出一个菜单,提示用户选择:成绩录入、成绩排序、成绩查找,在选择某项功能后执行相应的操作,那么程序如何修改呢? 四、实验心得 函数模功能将程序开发模块化,减少了代码的长度,有利于从事代码开发工作的人,以后尽量使用函数写代码。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1