版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 20112012第一学期数据结构实验报告班级:信管一班学号:姓名:实验报告题目及要求一、实验题目设某班级有M(6)名学生,本学期共开设N(3)门课程,要求实现并修改如下程序(算法)。输入学生的学号、姓名和N门课程的成绩(输入提示和输出显示使用汉字系统),输出实验结果。(15分)计算每个学生本学期N门课程的总分,输出总分和N门课程成绩排在前3名学生的学号、姓名和成绩。按学生总分和N门课程成绩关键字升序排列名次,总分相同者同名次。二、实验要求修改算法。将奇偶排序算法升序改为降序。(15分)用选择排序、冒泡排序、插入排序分别替换奇偶排序算法,并将升序算法修改为降序算法;。(45分)3编译、链接以上
2、算法,按要求写出实验报告(25)。修改后算法的所有语句必须加下划线,没做修改语句保持按原样不动。用A4纸打印输出实验报告。三、实验报告说明实验数据可自定义,每种排序算法数据要求均不重复。实验题目:N门课程学生成绩名次排序算法实现;实验目的:掌握各种排序算法的基本思想、实验方法和验证算法的准确性实验要求:对算法进行上机编译、链接、运行;实验环境(WindowsXP-sp3,Visualc+);实验算法(给出四种排序算法修改后的全部清单);实验结果(四种排序算法模拟运行后的实验结果);实验体会(文字说明本实验成功或不足之处)。三、实验源程序(算法)Score.c#includestdio.h#in
3、cludestring.h#defineM6#defineN3structstudentcharname10;intnumber;intscoreN+l;/*scoreN为总分,score0-score2为学科成绩*/stuM;voidchangesort(structstudenta,intn,intj)intflag=1,i;structstudenttemp;while(flag)flag=0;for(i=1;iai+1.scorej)temp=ai;ai=ai+1;ai+1=temp;flag=1;for(i=0;iai+1.scorej)temp=ai;ai=ai+1;ai+1=te
4、mp;flag=1;voidprint_score(structstudenta,intn,intj)inti,k;printf(“奇偶交换成绩%d排序表,j+l);printf(n);printf(名次学号姓名分数n);k=1;for(i=0;kN&i0&ai.scorej!=ai-1.scorej)k+;printf(%4d,k);printf(%4d,ai.number);printf(%s,);printf(%6d,ai.scorej);printf(n);main()inti,j,k;for(i=0;iM;i+)/*输入每个学生信息*/printf(请输入第%d名学生分
5、数:,i+l);printf(n);printf(姓名:);scanf(%s,);printf(编号:);scanf(%4d,&stui.number);printf(数据结构:);scanf(%4d,&stui.score0);printf(离散数学:);scanf(%4d,&stui.score1);printf(大学英语:);scanf(%4d,&stui.score2);for(i=0;iM;i+)/*计算每个学生总分*/stui.scoreN=0;for(j=0;jN;j+)stui.scoreN+=stui.scorej;changesort(stu,M,N);/
6、*对总分进行排序*/printf(学生总分成绩排序表n);printf(名次学号姓名数据结构离散数学大学英语总分n)k=1;for(i=0;i0&stui.scoreN!=stui-1.scoreN)k+;printf(%4d,k);printf(%4d,stui.number);printf(%s,);for(j=0;jN+1;j+)printf(%6d,stui.scorej);printf(n);changesort(stu,M,0);/*对数据结构成绩进行排序*/print_score(stu,M,0);/*输出数据结构前3名同学成绩*/changesort(stu,
7、M,1);/*对离散数学成绩进行排序*/print_score(stu,M,1);/*输出离散数学前3名同学成绩*/changesort(stu,M,2);/*对大学英语成绩进行排序*/print_score(stu,M,2);/*输出大学英语前3名同学成绩*/源代码结果:请输入第1名学生分数:姓名:史孟晨编号:01数据结构:87离散数学:90大学英语:78请输入第2名学生分数:姓名:袁欣编号:02数据结构:78离散数学:80大学英语:92请输入第3名学生分数:姓名:赵宇编号:03数据结构:88离散数学:76大学英语:95请输入第4名学生分数:姓名:滕芷编号:04数据结构:79离散数学:84大
8、学英语:88请输入第5名学生分数:姓名:张一析编号:05数据结构:78离散数学:68大学英语:91请输入第6名学生分数:姓名:白晓彤编号:06数据结构:88离散数学:76大学英语:90学生总分成绩排序表名次学号姓名数据结构离散数学大学英语总分23715张一析78689122袁欣78809225034滕芷79848825146白晓彤88769025451史孟晨87907825563赵宇887695259奇偶交换成绩1排序表名次学号姓名分数15张一析7812袁欣7824滕芷7931史孟晨87奇偶交换成绩2排序表名次学号姓名分数15张一析6826白晓彤7623赵宇7632袁欣80奇偶交换成绩3排序表
9、名次学号姓名分数11史孟晨7824滕芷8836白晓彤90PressanykeytocontinueChange.c#includestdio.h#includestring.h#defineM6#defineN3voidchangesort(structstudenta,intn,intj);voidprint_score(structstudenta,intn,intj);structstudentcharname10;/*scoreN为intnumber;intscoreN+1;分,score0-score2为学科成绩*/stuM;main()inti,j,k;for(i=0;iM;i+)
10、/*输入每个学生信息*/printf(”请输入第%d名学生分数:”,i+l);printf(n);printf(姓名:);scanf(%s,);printf(编号);scanf(%4d,&stui.number);printf(”数据结构:);scanf(%4d,&stui.score0);printf(”离散数学:);scanf(%4d,&stui.scorel);printf(大学英语:);scanf(%4d,&stui.score2);for(i=0;iM;i+)/*计算每个学生总分*/stui.scoreN=0;for(j=0;jN;j+)stui.scoreN+=s
11、tui.scorej;changesort(stu,M,N);/*对总分进行排序*/printf(”学生总分成绩排序表n);printf(“名次学号姓名数据结构离散数学大学英语总分5);k=0;for(i=0;i0&stui.scoreN!=stui-1.scoreN)k+;printf(%4d,k);printf(%4d,stui-1.number);printf(%s,);for(j=0;jN+1;j+)printf(%6d,stui-1.scorej);printf(n);changesort(stu,M,0);/*对数据结构成绩进行排序*/print_score(
12、stu,M,0);/*输出数据结构前3名同学成绩*/changesort(stu,M,1);/*对离散数学成绩进行排序*/print_score(stu,M,1);/*输出离散数学前3名同学成绩*/changesort(stu,M,2);/*对大学英语成绩进行排序*/print_score(stu,M,2);/*输出大学英语前3名同学成绩*/voidchangesort(structstudenta,intn,intj)intflag=1,i;structstudenttemp;while(flag)flag=0;for(i=1;in-1;i+=2)/*对所有奇数项进行一遍比较*/if(ai.
13、scorejai+1.scorej)temp=ai;ai=ai+1;ai+1=temp;flag=1;遍比较*/for(i=0;in-1;i+=2)/*对所有偶数项进行if(ai.scorejai+l.scorej)temp=ai;ai=ai+l;ai+l=temp;flag=l;voidprint_score(structstudenta,intn,intj)inti,k;printf(”奇偶交换成绩%d排序表”,j+1);printf(n);printf(”名次学号姓名分数n)k=1;for(i=0;kN&i0&ai.scorej!=ai-1.scorej)k+;printf(%4d,k)
14、;printf(%4d,ai.number);printf(%s,);printf(%6d,ai.scorej);printf(n);升序改降序:请输入第1名学生分数:姓名:史孟晨编号:01数据结构:87离散数学:90大学英语:78请输入第2名学生分数:姓名:袁欣编号:02数据结构:78离散数学:80大学英语:92请输入第3名学生分数:姓名:赵宇编号:03数据结构:88离散数学:76大学英语:95请输入第4名学生分数:姓名:滕芷编号:04数据结构:79离散数学:84大学英语:88请输入第5名学生分数:姓名:张一析编号:05数据结构:78离散数学:68大学英语:91请输入第6名学生
15、分数:姓名:白晓彤编号:06数据结构:88离散数学:76大学英语:90学生总分成绩排序表名次学号姓名数据结构离散数学大学英语总分13赵宇88769525921史孟晨87907825536白晓彤88769025444滕芷79848825152袁欣78809225065张一析786891237奇偶交换成绩1排序表名次学号姓名分数13赵宇8816白晓彤8821史孟晨8734滕芷79奇偶交换成绩2排序表名次学号姓名分数11史孟晨9024滕芷8432袁欣80奇偶交换成绩3排序表名次学号姓名分数13赵宇9522袁欣9235张一析91Pressanykeytocontinue l3Seletsort.c#i
16、ncludestdio.h#includestring.h#defineM6#defineN3voidchangesort(structstudenta,intn,intj);voidprint_score(structstudenta,intn,intj);structstudentcharname10;/*scoreN为intnumber;intscoreN+1;分,score0-score2为学科成绩*/stuM;main()inti,j,k;for(i=0;iM;i+)/*输入每个学生信息*/printf(”请输入第%d名学生分数:”,i+l);printf(n);printf(姓名:
17、);scanf(%s,);printf(编号);scanf(%4d,&stui.number);printf(”数据结构:);scanf(%4d,&stui.score0);printf(”离散数学:);scanf(%4d,&stui.scorel);printf(大学英语:);scanf(%4d,&stui.score2);for(i=0;iM;i+)/*计算每个学生总分*/stui.scoreN=0;for(j=0;jN;j+)stui.scoreN+=stui.scorej;changesort(stu,M,N);/*对总分进行排序*/printf(”学生总分成绩排序表
18、n);printf(“名次学号姓名数据结构离散数学大学英语总分5);k=0;for(i=0;i0&stui.scoreN!=stui-1.scoreN)k+;printf(%4d,k);printf(%4d,stui-1.number);printf(%s,);for(j=0;jak.scorej)k=m:temp=ai;ail=akl:ak=temp;flag=l;voidprint_score(structstudenta,intn,intj)inti,k;printf(”选择交换成绩%d排序表”,j+1);printf(n);printf(”名次学号姓名分数n);k
19、=1;for(i=0;kN&i0&ai.scorej!=ai-1.scorej)k+;printf(%4d,k);printf(%4d,ai.number);printf(%s,);printf(%6d,ai.scorej);printf(n);简单选择:请输入第1名学生分数:姓名:史孟晨编号:01数据结构:87离散数学:90大学英语:78请输入第2名学生分数:姓名:袁欣编号:02数据结构:78离散数学:80大学英语:92请输入第3名学生分数:姓名:赵宇编号:03数据结构:88离散数学:76大学英语:95请输入第4名学生分数:姓名:滕芷编号:04数据结构:79离散数学:84大学英
20、语:88请输入第5名学生分数:姓名:张一析编号:05数据结构:78离散数学:68大学英语:91请输入第6名学生分数:姓名:白晓彤编号:06数据结构:88离散数学:76大学英语:90学生总分成绩排序表名次学号姓名数据结构离散数学大学英语总分13赵宇88769525921史孟晨87907825536白晓彤88769025444滕芷79848825152袁欣78809225065张一析786891237选择交换成绩1排序表名次学号姓名分数13赵宇8816白晓彤8821史孟晨8734滕芷79选择交换成绩2排序表名次学号姓名分数11史孟晨9024滕芷8432袁欣80选择交换成绩3排序表名次学号姓名分数1
21、3赵宇9522袁欣9235张一析91Pressanykeytocontinuel Bubblesort.c#includestdio.h#includestring.h#defineM6#defineN3voidchangesort(structstudenta,intn,intj);voidprint_score(structstudenta,intn,intj);structstudentcharname10;/*scoreN为intnumber;intscoreN+1;分,score0-score2为学科成绩*/stuM;main()inti,j,k;for(i=0;iM;i+)/*输入
22、每个学生信息*/printf(”请输入第%d名学生分数:”,i+l);printf(n);printf(姓名:);scanf(%s,);printf(编号);scanf(%4d,&stui.number);printf(”数据结构:);scanf(%4d,&stui.score0);printf(”离散数学:);scanf(%4d,&stui.scorel);printf(大学英语:);scanf(%4d,&stui.score2);for(i=0;iM;i+)/*计算每个学生总分*/stui.scoreN=0;for(j=0;jN;j+)stui.scoreN+=stui.
23、scorej;l changesort(stu,M,N);/*对总分进行排序*/printf(”学生总分成绩排序表n);printf(“名次学号姓名数据结构离散数学大学英语总分5);k=0;for(i=0;i0&stui.scoreN!=stui-1.scoreN)k+;printf(%4d,k);printf(%4d,stui-1.number);printf(%s,);for(j=0;jN+1;j+)printf(%6d,stui-1.scorej);printf(n);changesort(stu,M,0);/*对数据结构成绩进行排序*/print_score(st
24、u,M,0);/*输出数据结构前3名同学成绩*/changesort(stu,M,1);/*对离散数学成绩进行排序*/print_score(stu,M,1);/*输出离散数学前3名同学成绩*/changesort(stu,M,2);/*对大学英语成绩进行排序*/print_score(stu,M,2);/*输出大学英语前3名同学成绩*/voidchangesort(structstudenta,intn,intj)intflag=1,i;structstudenttemp;while(flag)flag=0;for(i=0;ivn;i+)/*冒泡排序法*/if(ai.scorejvai+l.
25、scorej)temp=ail; ail=ai+ll:ai+l=temp:flag=1:voidprint_score(structstudenta,intn,intj)inti,k:printf(”冒泡交换成绩%d排序表,j+1);printf(n):printf(”名次学号姓名分数n);k=1;for(i=0;kN&i0&ai.scorej!=ai-1.scorej)k+;printf(%4d,k);printf(%4d,ai.number);printf(%s,);printf(%6d,ai.scorej);printf(n);运行结果:请输入第1名学生分数:姓名:史孟晨编
26、号:01数据结构:87离散数学:90大学英语:78请输入第2名学生分数:姓名:袁欣编号:02数据结构:78离散数学:80大学英语:92请输入第3名学生分数:姓名:赵宇编号:03数据结构:88离散数学:76大学英语:95请输入第4名学生分数:姓名:滕芷编号:04数据结构:79离散数学:84大学英语:88请输入第5名学生分数:姓名:张一析编号:05数据结构:78离散数学:68大学英语:91请输入第6名学生分数:姓名:白晓彤编号:06数据结构:88离散数学:76大学英语:90学生总分成绩排序表名次学号姓名数据结构离散数学大学英语总分13赵宇88769525921史孟晨87907825536白晓彤88
27、769025444滕芷79848825152袁欣78809225065张一析786891237冒泡交换成绩1排序表名次学号姓名分数13赵宇8816白晓彤8821史孟晨8734滕芷79冒泡交换成绩2排序表名次学号姓名分数11史孟晨9024滕芷8432袁欣80冒泡交换成绩3排序十表名次学号姓名分数TOC o 1-5 h z13赵宇9522袁欣9235张一析91PressanykeytocontinueJusertsort.c#includestdio.h#includestring.h#defineM6#defineN3voidchangesort(structstudenta,intn,intj
28、);voidprint_score(structstudenta,intn,intj);structstudentcharname10;/*scoreN为intnumber;intscoreN+1;分,score0-score2为学科成绩*/stuM;main()inti,j,k;for(i=0;iM;i+)/*输入每个学生信息*/printf(”请输入第%d名学生分数:”,i+l);printf(n);printf(姓名:);scanf(%s,);printf(编号);scanf(%4d,&stui.number);printf(”数据结构:);scanf(%4d,&stu
29、i.score0);printf(”离散数学:);scanf(%4d,&stui.scorel);printf(大学英语:);scanf(%4d,&stui.score2);for(i=0;iM;i+)/*计算每个学生总分*/stui.scoreN=0;for(j=0;jN;j+)stui.scoreN+=stui.scorej;changesort(stu,M,N);/*对总分进行排序*/printf(”学生总分成绩排序表n);printf(“名次学号姓名数据结构离散数学大学英语总分5);k=0;for(i=0;i0&stui.scoreN!=stui-1.scoreN)k+;printf(
30、%4d,k);printf(%4d,stui-1.number);printf(%s,);for(j=0;j0&temp.scorejam-l.scorej:m-)am=am-1:am=temp:voidprint_score(structstudenta,intn,intj)inti,k:printf(”插入交换成绩%d排序表”,j+1);printf(n):printf(”名次学号姓名分数n);k=1:for(i=0:kN&i0&ai.scorej!=ai-1.scorej)k+:printf(%4d,k):printf(%4d,ai.number):printf(%
31、s,):printf(%6d,ai.scorej):printf(n):请输入第1名学生分数:姓名:史孟晨编号:01数据结构:87离散数学:90大学英语:78请输入第2名学生分数:姓名:袁欣编号:02数据结构:78离散数学:80大学英语:92请输入第3名学生分数:姓名:赵宇编号:03数据结构:88离散数学:76大学英语:95请输入第4名学生分数:姓名:滕芷编号:04数据结构:79离散数学:84大学英语:88请输入第5名学生分数:姓名:张一析编号:05数据结构:78离散数学:68大学英语:91请输入第6名学生分数:姓名:白晓彤编号:06数据结构:88离散数学:76大学英语:90学生总分成绩排序表名次学号姓名数据结构离散数学大学英语总分13赵宇88769525921史孟晨87907825536白晓彤88769025444滕芷79848825152袁欣78809225065张一析786891237插入
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 上海2026年特岗教师《英语》考试真题及答案
- 物流管理人员物流管理技能提升指导书
- 2026年天津全国物业管理师资格考试(物业经营管理)复习题库及答案(建设部)
- 2026年公共事业管理考试知识点试题及答案
- 2025年中国法制史期末练习题及答案
- 2026年共青团考试化考点题库附答案
- 2025届湖北联投校园招聘扬帆起航笔试历年参考题库附带答案详解
- 2025华润怡宝校园招聘笔试历年参考题库附带答案详解
- 2025中智集团总部及下属企业公开招聘4人笔试历年参考题库附带答案详解
- 2025中国联通春季校园招聘(新苗)笔试历年参考题库附带答案详解
- 2025年首都博物馆合同制用工人员招聘17人笔试参考题库附带答案详解(10套)
- 2025年广东省中学生天文知识竞赛试题(及答案)
- 超声引导阴部神经阻滞技术
- 海洋弧菌护理查房
- 房建工程质量标准化实施手册(2025版)
- 安徽省合肥市包河区2023-2024学年七年级下学期期末语文试题(含答案)
- 2025届河南省郑州市名校联考英语八年级第二学期期末复习检测试题含答案
- 2024-2025湘科版小学科学四年级下册期末考试卷及答案
- 航线工卡检查规范
- 《金属防腐涂料及其应用》课件
- 依法执业相关法律法规培训
评论
0/150
提交评论