下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实验报告实验课名称:数据结构实验实验名称:考试日程安排与成绩统计问题一、问题描述现要安排考试的考表(即考试日程表10个班的学生,要安1030,1,2,3,4,5,6,7,8,9代表10门要考试的课程,以B,B,B,B,B,B,B,B,B,B代1 2 3
4 5
7 8 9 10表10个班,每个人的信息包括学号、姓名、班级、各门考试课程成绩、三门课程总成绩,每个班的学生人数自行设定。要求设计一个简单的考试成绩的查询统计系统实现以下功能:显示学生考试情况-按考试总分从高到底输出全体学生的信息。-BB1 10
的班级顺序,分班级按照考试总分从高到底的顺序输出各班学生的信息。-输出指定班的学生考试成绩信息。统计学生考试成绩-9080~8970~7960~6960以下各分数段的人数,并按总分从高到低分段输出。-根据指定的某们课程的成绩,统计出上述各分数段的人数,并按分数从高到低分段输出。-统计并输出指定班级中总成绩或某一门课成绩的各分数段人数和每个人具体的信息。查找学生成绩-查找总分或某一门课程成绩的指定分数段的人数及学生的详细信息。-查找指定班级中总分或某一门课程成绩属于某分数段的学生详细信息。-查找指定学生(例如给定学号)的具体信息,包括:姓名、班级、各科分数、总分数等。二、数据结构设计根据实验要求,对学生成绩的存储的数据结构如下:typedefstruct{charnumber[15];//学号charname[100];//姓名intfen[4];//成绩(分别为语文成绩、数学成绩、英语成绩、总分)intn[2];//名次(n[0]为总分名次n[1]为单科名次)}node;typedefstruct{nodestu[maxsize+1];//存放学生信息intnum;//存放学生人数}SqList;三、算法设计根据问题要求,首先创建学生信息,输入各科成绩,计算总分,之后利用快速排序实现对学生单科及总分的排序,最后输出。设计流程图如图1.1所示。1.1设计流程图数据输入根据输入提示,对学生基本信息做相应的输入,其代码如下:cout<<"请输入学生人数:"<<endl;cin>>a.num;for(i=1;i<=a.num;i++)//输入每个学生的三门成绩{cout<<"请输入第"<<i<<"个学生的学号和姓名:"<<endl;cin>>a.stu[i].number;cin>>a.stu[i].name;cout<<"请输入第"<<i<<"个学生语文,数学,英语成绩:"<<endl;cin>>a.stu[i].fen[0];cin>>a.stu[i].fen[1];cin>>a.stu[i].fen[2];}}学生信息初始化完成后,在根据输入提示选择相应操作:while(1){cout<<"1.总分排序"<<endl;cout<<"2.语文排序"<<endl;cout<<"3.数学排序"<<endl;cout<<"4.英语排序"<<endl;cout<<"0.退 出\n"<<endl;cout<<"请选择:"<<endl;cin>>choice;switch(choice){case1:……case2:……case3:……case4:……case0:return0;default:cout<<"输入错误,请重新输入(0--4)"<<endl;break;}}创建学生信息并进行相应排序,本实验中采用快速排序,其代码如下:intPartition(SqList&L,intlow,inthigh,inti) //枢轴函数{intpivotkey;//枢轴关键字pivotkey=L.stu[low].fen[i];L.stu[0]=L.stu[low];while(low<high){while(low<high&&L.stu[high].fen[i]>=pivotkey)--high;L.stu[low]=L.stu[high];while(low<high&&L.stu[low].fen[i]<=pivotkey)++low;L.stu[high]=L.stu[low];}L.stu[low]=L.stu[0];returnlow;}voidQSort(SqList&L,intlow,inthigh,inti) //快速排序函数{intpivotloc;if(low<high)//子序列长度大于1{pivotloc=Partition(L,low,high,i);QSort(L,low,pivotloc-1,i); //QSort(L,pivotloc+1,high,i);//递归快速排序}}根据所选择的操作进行相应的输出,代码如下:case1:QuickSort(x,3);place(x,0,3);//排序display2(x);//调用输出函数break;case2:QuickSort(x,0);place(x,1,0);//排序display3(x);//调用输出函数break;case3:QuickSort(x,1); place(x,1,1);//display3(x);//调用输出函数break;case4:QuickSort(x,2);place(x,1,2);//排序display3(x);//调用输出函数break;case0:return0;四、界面设计程序包含输入提示功能和输出提示功能。五、运行测试与分析1.2所示。图1.2
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026浙江嘉兴市经英人才发展服务有限公司文旅分公司招聘法律专业人才及法律辅助人员聘用前(第八批)笔试历年常考点试题专练附带答案详解
- 2026浙江嘉兴南湖实验室科技控股有限公司招聘专业人才2人笔试历年难易错考点试卷带答案解析
- 2026浙江丽水市汽车运输集团股份有限公司招聘工作人员4人笔试历年难易错考点试卷带答案解析
- 2026津投期货经纪有限公司组织人力部员工招聘1人笔试历年难易错考点试卷带答案解析
- 2026河北唐山政务服务外包有限公司招聘项目工作人员80人笔试历年典型考点题库附带答案详解
- 2025年湖北省仙桃市高考物理强基计划模拟卷(考点提分)附答案详解
- 2026年度天津和平投资发展集团有限公司招聘笔试历年备考题库附带答案详解
- 2025年广东省四会市高考物理二轮专题模拟卷含答案详解【基础题】
- 2026年中国核电校园招聘火热来袭笔试历年常考点试题专练附带答案详解
- 2026届中铁四局八分公司校招笔试历年难易错考点试卷带答案解析
- 2026年河北省八年级地理生物会考考试真题及答案
- 2026年台州市属国企联合招聘(第一批)台州市开发投资集团有限公司招聘5人考试备考题库及答案解析
- GB/T 47364-2026肉牛营养需要量
- 2026春教科版(新教材)小学科学三年级下册(全册)各单元知识点梳理
- 药物中毒的护理查房
- 车棚安装服务流程
- 75首古诗英文版
- 有限公司薪酬管理办法范例
- 马鞍山二中XXXX年创新班招生物理试卷
- 教师口语表达训练
- 布林带战法及精准操作点
评论
0/150
提交评论