ImageVerifierCode 换一换
格式:DOCX , 页数:8 ,大小:87.85KB ,
资源ID:11740456      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/11740456.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(成绩排序问题.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

成绩排序问题.docx

1、成绩排序问题实验报告实验课名称:数据结构实验实验名称:考试日程安排与成绩统计问题一、问题描述 现要安排考试的考表(即考试日程表),假设共有10个班的学生,要安排10门必修课程的考试,必修课程是以班级来确定的,每个班各有3门必修课,因此各班的考试科目是不相同的;安排考表的原则是:相同课程采用统一的试卷,因此同一门课程的考试必须在相同时间进行,同一个班所修的科目必须安排在不同的时间进行考试,以避免考试时间的冲突。并要求全部考试的日程尽可能短。 要求对考试结果做统计和排序。假设分别以编号0,1,2,3,4,5,6,7,8,9代表10门要考试的课程,以B1,B2,B3,B4,B5,B6,B7,B8,B

2、9,B10代表10个班,每个人的信息包括学号、姓名、班级、各门考试课程成绩、三门课程总成绩,每个班的学生人数自行设定。要求设计一个简单的考试成绩的查询统计系统实现以下功能: 显示学生考试情况-按考试总分从高到底输出全体学生的信息。-按照从B1到B10的班级顺序,分班级按照考试总分从高到底的顺序输出各班学生的信息。-输出指定班的学生考试成绩信息。 统计学生考试成绩-按总成绩统计出90分以上、8089分、7079分、6069分、60分以下各分数段的人数,并按总分从高到低分段输出。-根据指定的某们课程的成绩,统计出上述各分数段的人数,并按分数从高到低分段输出。-统计并输出指定班级中总成绩或某一门课成

3、绩的各分数段人数和每个人具体的信息。 查找学生成绩-查找总分或某一门课程成绩的指定分数段的人数及学生的详细信息。-查找指定班级中总分或某一门课程成绩属于某分数段的学生详细信息。-查找指定学生(例如给定学号)的具体信息,包括:姓名、班级、各科分数、总分数等。二、数据结构设计根据实验要求,对学生成绩的存储的数据结构如下:typedef struct char number15;/学号 char name100;/姓名 int fen4;/成绩(分别为语文成绩、数学成绩、英语成绩、总分) int n2;/名次(n0为总分名次n1为单科名次)node;typedef struct node stuma

4、xsize+1; /存放学生信息 int num; /存放学生人数SqList;三、算法设计根据问题要求,首先创建学生信息,输入各科成绩,计算总分,之后利用快速排序实现对学生单科及总分的排序,最后输出。设计流程图如图1.1所示。图1.1 设计流程图(1)数据输入 根据输入提示,对学生基本信息做相应的输入,其代码如下: cout请输入学生人数:a.num; for(i=1;i=a.num;i+)/输入每个学生的三门成绩 cout请输入第i个学生的学号和姓名:a.stui.number; cina.stui.name; cout请输入第i个学生语文,数学,英语成绩:a.stui.fen0; cin

5、a.stui.fen1; cina.stui.fen2; 学生信息初始化完成后,在根据输入提示选择相应操作: while(1) cout1.总分排序 endl; cout2.语文排序 endl; cout3.数学排序 endl; cout4.英语排序 endl; cout0.退 出 nendl; cout请选择:choice; switch(choice) case 1: case 2: case 3: case 4: case 0: return 0; default: cout输入错误,请重新输入(0-4)endl; break; (2)创建学生信息并进行相应排序,本实验中采用快速排序,其

6、代码如下:int Partition(SqList &L,int low,int high,int i) /枢轴函数 int pivotkey; / 枢轴关键字 pivotkey=L.stulow.feni; L.stu0=L.stulow; while(lowhigh) while(low=pivotkey) -high; L.stulow=L.stuhigh; while(lowhigh&L.stulow.feni=pivotkey) +low; L.stuhigh=L.stulow; L.stulow=L.stu0; return low; void QSort(SqList &L,in

7、t low,int high,int i) /快速排序函数 int pivotloc; if(lowhigh)/ 子序列长度大于1 pivotloc=Partition(L,low,high,i); QSort(L,low,pivotloc-1,i); /递归快速排序 QSort(L,pivotloc+1,high,i); /递归快速排序 (3)根据所选择的操作进行相应的输出,代码如下:case 1: QuickSort(x,3); place(x,0,3);/排序 display2(x);/调用输出函数 break; case 2: QuickSort(x,0); place(x,1,0);

8、 /排序 display3(x); /调用输出函数 break; case 3: QuickSort(x,1); place(x,1,1); /排序 display3(x); /调用输出函数 break; case 4: QuickSort(x,2); place(x,1,2); /排序 display3(x); /调用输出函数 break; case 0: return 0;四、界面设计 程序包含输入提示功能和输出提示功能。五、运行测试与分析(1)运行程序,显示提示,如图1.2所示。图1.2 启动界面(2)按要求输入学生数,学生信息和成绩,如图1.3所示。图1.3 数据输入界面 (3)数据结果输出。根据实验要求输出实验结果。如图1.4所示。图1.4 数据结果输出界面六、实验收获与思考通过本次实验,熟练掌握了对排序的理解,在本实验中,利用快速排序进行排序,更加加深了对快速排序的实现过程的理解。教师评分:教师签字:THANKS !致力为企业和个人提供合同协议,策划案计划书,学习课件等等打造全网一站式需求欢迎您的下载,资料仅供参考

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1