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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

数据结构实验报告及心得体会数据结构实验心得体会.docx

1、数据结构实验报告及心得体会数据结构实验心得体会20112012第一学期数据结构实验报告班级:信管一班 学号:* 姓名:*实验报告题目及要求 一、实验题目设某班级有M(6)名学生,本学期共开设N(3)门课程, 要求实现并修改如下程序(算法)。1. 输入学生的学号、姓名和 N 门课程的成绩(输入提示和输出显示使用汉字系统),输出实验结果 。(15分)2. 计算每个学生本学期 N 门课程的总分,输出总分和N门课程成绩排在前 3 名学生的学号、姓名和成绩。3. 按学生总分和 N 门课程成绩关键字升序排列名次,总分相同者同名次。 二、实验要求1修改算法。将奇偶排序算法升序改为降序。(15分)2用选择排序

2、、冒泡排序、插入排序分别替换奇偶排序算法,并将升序算法修改为降序算法;。(45分)3编译、链接以上算法,按要求写出实验报告(25)。4. 修改后算法的所有语句必须加下划线,没做修改语句保持按原样不动。5用A4纸打印输出实验报告。三、实验报告说明实验数据可自定义,每种排序算法数据要求均不重复。 (1) 实验题目:N门课程学生成绩名次排序算法实现; (2) 实验目的:掌握各种排序算法的基本思想、实验方法和验证算法的准确性; (3) 实验要求:对算法进行上机编译、链接、运行; (4) 实验环境(Windows XP-sp3,Visual c+); (5) 实验算法(给出四种排序算法修改后的全部清单)

3、; (6) 实验结果(四种排序算法模拟运行后的实验结果); (7) 实验体会(文字说明本实验成功或不足之处)。三、实验源程序(算法)Score.c#include stdio.h#include string.h#define M 6#define N 3struct student char name10; int number; int scoreN+1; /*scoreN为总分,score0-score2为学科成绩*/ stuM;void changesort(struct student a,int n,int j) int flag=1,i; struct student temp;

4、 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=temp; flag=1; void print_score(struct student a,int n,int j) int i,k; printf(“ 奇偶交换 成绩 %d 排序表,j+1); printf(n); printf( 名 次 学 号 姓 名 分 数n); k=1; for(i=0;kN&i0&ai.scorej!=ai-1.sc

5、orej) k+; printf( %4d ,k); printf(%4d,ai.number); printf( %s,ai.name); printf( %6d,ai.scorej); printf(n); main() int i,j,k; for (i=0;iM;i+) /*输入每个学生信息*/ printf(请输入第 %d 名学生分数: ,i+1);printf(n); printf(姓 名: ); scanf(%s,stui.name); printf(编 号: ); scanf(%4d,&stui.number); printf(数据结构: ); scanf(%4d,&stui.

6、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); /*对总分进行排序*/ printf( 学生总分成绩排序表n); printf( 名次 学号 姓 名 数据结构 离散数学 大学英语 总 分n); k=1; for(i=0;i0&stui.scoreN!=st

7、ui-1.scoreN) k+; printf(%4d,k); printf( %4d,stui.number); printf( %s,stui.name); for(j=0;jN+1;j+) printf( %6d,stui.scorej); printf(n); changesort(stu,M,0); /*对数据结构成绩进行排序*/ print_score(stu,M,0); /*输出数据结构前 3 名同学成绩*/ changesort(stu,M,1); /*对离散数学成绩进行排序*/ print_score(stu,M,1); /*输出离散数学前 3 名同学成绩*/ changes

8、ort(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大学英语: 88请输入第 5 名学生分数:姓 名:

9、 张一析编 号: 05数据结构: 78离散数学: 68大学英语: 91请输入第 6 名学生分数:姓 名: 白晓彤编 号: 06数据结构: 88离散数学: 76大学英语: 90 学生总分成绩排序表 名次 学号 姓 名 数据结构 离散数学 大学英语 总 分 1 5 张一析 78 68 91 237 2 2 袁欣 78 80 92 250 3 4 滕芷 79 84 88 251 4 6 白晓彤 88 76 90 254 5 1 史孟晨 87 90 78 255 6 3 赵宇 88 76 95 259 奇偶交换 成绩 1 排序表 名 次 学 号 姓 名 分 数 1 5 张一析 78 1 2 袁欣 78

10、 2 4 滕芷 79 3 1 史孟晨 87 奇偶交换 成绩 2 排序表 名 次 学 号 姓 名 分 数 1 5 张一析 68 2 6 白晓彤 76 2 3 赵宇 76 3 2 袁欣 80 奇偶交换 成绩 3 排序表 名 次 学 号 姓 名 分 数 1 1 史孟晨 78 2 4 滕芷 88 3 6 白晓彤 90Press any key to continueChange.c#include stdio.h#include string.h#define M 6#define N 3void changesort(struct student a,int n,int j);void print_

11、score(struct student a,int n,int j);struct student char name10; int number; int scoreN+1; /*scoreN为总分,score0-score2为学科成绩*/ stuM;main() int i,j,k; for (i=0;iM;i+) /*输入每个学生信息*/ printf(请输入第 %d 名学生分数: ,i+1);printf(n); printf(姓 名: ); scanf(%s,stui.name); printf(编 号: ); scanf(%4d,&stui.number); printf(数据结

12、构: ); 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); /*对总分进行排序*/ printf( 学生总分成绩排序表n); printf( 名次 学号 姓 名 数据结构 离散数学 大学英语 总 分n); k=0; for(

13、i=0;i0&stui.scoreN!=stui-1.scoreN) k+; printf(%4d,k); printf( %4d,stui-1.number); printf( %s,stui-1.name); for(j=0;jN+1;j+) printf( %6d,stui-1.scorej); printf(n); changesort(stu,M,0); /*对数据结构成绩进行排序*/ print_score(stu,M,0); /*输出数据结构前 3 名同学成绩*/ changesort(stu,M,1); /*对离散数学成绩进行排序*/ print_score(stu,M,1);

14、 /*输出离散数学前 3 名同学成绩*/ changesort(stu,M,2); /*对大学英语成绩进行排序*/ print_score(stu,M,2); /*输出大学英语前 3 名同学成绩*/ void changesort(struct student a,int n,int j) int flag=1,i; struct student temp; while(flag) flag=0; for(i=1;in-1;i+=2) /*对所有奇数项进行一遍比较*/ if (ai.scorej ai+1.scorej) temp=ai; ai=ai+1; ai+1=temp; flag=1;

15、 for(i=0;in-1;i+=2) /*对所有偶数项进行一遍比较*/ if (ai.scorej ai+1.scorej) temp=ai; ai=ai+1; ai+1=temp; flag=1; void print_score(struct student a,int n,int j) int i,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,a

16、i.number); printf( %s,ai.name); 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 名学生分数:姓 名: 张一析编

17、 号: 05数据结构: 78离散数学: 68大学英语: 91请输入第 6 名学生分数:姓 名: 白晓彤编 号: 06数据结构: 88离散数学: 76大学英语: 90 学生总分成绩排序表 名次 学号 姓 名 数据结构 离散数学 大学英语 总 分 1 3 赵宇 88 76 95 259 2 1 史孟晨 87 90 78 255 3 6 白晓彤 88 76 90 254 4 4 滕芷 79 84 88 251 5 2 袁欣 78 80 92 250 6 5 张一析 78 68 91 237 奇偶交换 成绩 1 排序表 名 次 学 号 姓 名 分 数 1 3 赵宇 88 1 6 白晓彤 88 2 1

18、史孟晨 87 3 4 滕芷 79 奇偶交换 成绩 2 排序表 名 次 学 号 姓 名 分 数 1 1 史孟晨 90 2 4 滕芷 84 3 2 袁欣 80 奇偶交换 成绩 3 排序表 名 次 学 号 姓 名 分 数 1 3 赵宇 95 2 2 袁欣 92 3 5 张一析 91Press any key to continueSeletsort.c#include stdio.h#include string.h#define M 6#define N 3void changesort(struct student a,int n,int j);void print_score(struct s

19、tudent a,int n,int j);struct student char name10; int number; int scoreN+1; /*scoreN为总分,score0-score2为学科成绩*/ stuM;main() int i,j,k; for (i=0;iM;i+) /*输入每个学生信息*/ printf(请输入第 %d 名学生分数: ,i+1);printf(n); printf(姓 名: ); scanf(%s,stui.name); printf(编 号: ); scanf(%4d,&stui.number); printf(数据结构: ); scanf(%4

20、d,&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); /*对总分进行排序*/ printf( 学生总分成绩排序表n); printf( 名次 学号 姓 名 数据结构 离散数学 大学英语 总 分n); k=0; for(i=0;i0&stui.sc

21、oreN!=stui-1.scoreN) k+; printf(%4d,k); printf( %4d,stui-1.number); printf( %s,stui-1.name); for(j=0;jN+1;j+) printf( %6d,stui-1.scorej); printf(n); changesort(stu,M,0); /*对数据结构成绩进行排序*/ print_score(stu,M,0); /*输出数据结构前 3 名同学成绩*/ changesort(stu,M,1); /*对离散数学成绩进行排序*/ print_score(stu,M,1); /*输出离散数学前 3 名

22、同学成绩*/ changesort(stu,M,2); /*对大学英语成绩进行排序*/ print_score(stu,M,2); /*输出大学英语前 3 名同学成绩*/ void changesort(struct student a,int n,int j) int flag=1,i,m,k; struct student temp; while(flag) flag=0; for(i=0;in-1;i+) /*选择排序法*/ k=i; for(m=i+1;mak.scorej) k=m; temp=ai; ai=ak; ak=temp; flag=1; void print_score(

23、struct student a,int n,int j) int i,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,ai.name); printf( %6d,ai.scorej); printf(n); 简单选择:请输入第 1 名学生分数:姓 名: 史孟晨编 号: 01数据结构: 87离散数学: 90大学

24、英语: 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 学生总分成绩排序表 名次 学号 姓 名 数据结构 离散数学 大学英语 总

25、 分 1 3 赵宇 88 76 95 259 2 1 史孟晨 87 90 78 255 3 6 白晓彤 88 76 90 254 4 4 滕芷 79 84 88 251 5 2 袁欣 78 80 92 250 6 5 张一析 78 68 91 237 选择交换 成绩 1 排序表 名 次 学 号 姓 名 分 数 1 3 赵宇 88 1 6 白晓彤 88 2 1 史孟晨 87 3 4 滕芷 79 选择交换 成绩 2 排序表 名 次 学 号 姓 名 分 数 1 1 史孟晨 90 2 4 滕芷 84 3 2 袁欣 80 选择交换 成绩 3 排序表 名 次 学 号 姓 名 分 数 1 3 赵宇 95 2 2 袁欣 92 3 5 张一析 91Press any key to continueBubblesort

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

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