数据结构实验报告及心得体会1Word文档下载推荐.docx

上传人:b****1 文档编号:14170490 上传时间:2022-10-19 格式:DOCX 页数:8 大小:113.14KB
下载 相关 举报
数据结构实验报告及心得体会1Word文档下载推荐.docx_第1页
第1页 / 共8页
数据结构实验报告及心得体会1Word文档下载推荐.docx_第2页
第2页 / 共8页
数据结构实验报告及心得体会1Word文档下载推荐.docx_第3页
第3页 / 共8页
数据结构实验报告及心得体会1Word文档下载推荐.docx_第4页
第4页 / 共8页
数据结构实验报告及心得体会1Word文档下载推荐.docx_第5页
第5页 / 共8页
点击查看更多>>
下载资源
资源描述

数据结构实验报告及心得体会1Word文档下载推荐.docx

《数据结构实验报告及心得体会1Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《数据结构实验报告及心得体会1Word文档下载推荐.docx(8页珍藏版)》请在冰豆网上搜索。

数据结构实验报告及心得体会1Word文档下载推荐.docx

将奇偶排序算法升序改为降序。

2.用选择排序、冒泡排序、插入排序分别替换奇偶排序算法,并将升序算法修改为降序算法;

(45分))

3.编译、链接以上算法,按要求写出实验报告(25)。

4.修改后算法的所有语句必须加下划线,没做修改语句保持按原样不动。

5.用A4纸打印输出实验报告。

三、实验报告说明

实验数据可自定义,每种排序算法数据要求均不重复。

(1)实验题目:

《N门课程学生成绩名次排序算法实现》;

(2)实验目的:

掌握各种排序算法的基本思想、实验方法和验证算法的准确性;

(3)实验要求:

对算法进行上机编译、链接、运行;

(4)实验环境(WindowsXP-sp3,Visualc++);

(5)实验算法(给出四种排序算法修改后的全部清单);

(6)实验结果(四种排序算法模拟运行后的实验结果);

(7)实验体会(文字说明本实验成功或不足之处)。

三、实验源程序(算法)

Score.c

#include"

stdio.h"

string.h"

#defineM6

#defineN3

structstudent

{charname[10];

intnumber;

intscore[N+1];

/*score[N]为总分,score[0]-score[2]为学科成绩*/}stu[M];

voidchangesort(structstudenta[],intn,intj)

{intflag=1,i;

structstudenttemp;

while(flag)

{flag=0;

for(i=1;

ia[i+1].score[j])

{temp=a[i];

a[i]=a[i+1];

a[i+1]=temp;

flag=1;

}

for(i=0;

iif(a[i].score[j]>

a[i+1].score[j])

}

voidprint_score(structstudenta[],intn,intj)

{inti,k;

printf(“奇偶交换成绩%d排序表"

j+1);

printf("

\n"

);

名次学号姓名分数\n"

k=1;

k{if(i>

0&

&

a[i].score[j]!

=a[i-1].score[j])

k++;

printf("

%4d"

k);

%4d"

a[i].number);

%s"

a[i].name);

%6d"

a[i].score[j]);

main()

{inti,j,k;

for(i=0;

i{printf("

请输入第%d名学生分数:

"

i+1);

printf("

姓名:

scanf("

%s"

stu[i].name);

编号:

scanf("

&

stu[i].number);

数据结构:

stu[i].score[0]);

离散数学:

scanf("

stu[i].score[1]);

大学英语:

stu[i].score[2]);

i{stu[i].score[N]=0;

for(j=0;

jstu[i].score[N]+=stu[i].score[j];

changesort(stu,M,N);

/*对总分进行排序*/

学生总分成绩排序表\n"

名次学号姓名数据结构离散数学大学英语总分\n"

k=1;

i{if(i>

stu[i].score[N]!

=stu[i-1].score[N])

%4d"

stu[i].number);

jprintf("

stu[i].score[j]);

changesort(stu,M,0);

/*对数据结构成绩进行排序*/

print_score(stu,M,0);

/*输出数据结构前3名同学成绩*/

changesort(stu,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

80

92

请输入第3名学生分数:

赵宇

03

88

76

95

请输入第4名学生分数:

滕芷

04

79

84

请输入第5名学生分数:

张一析

05

68

91

请输入第6名学生分数:

白晓彤

06

学生总分成绩排序表

名次学号姓名数据结构离散数学大学英语总分

15张一析786891237

22袁欣788092250

34滕芷798488251

46白晓彤887690254

51史孟晨879078255

63赵宇887695259奇偶交换成绩1排序表

名次学号姓名分数

15张一析78

12袁欣78

24滕芷79

31史孟晨87

奇偶交换成绩2排序表

15张一析68

26白晓彤76

23赵宇76

32袁欣80

奇偶交换成绩3排序表

11史孟晨78

24滕芷88

36白晓彤90

Pressanykeytocontinue

#include"

voidchangesort(structstudenta[],intn,intj);

voidprint_score(structstudenta[],intn,intj);

{

charname[10];

/*score[N]为总分,score[0]-score[2]为学科成绩*/

}stu[M];

inti,j,k;

i{

请输入第%d名学生分数:

stu[i].score[N]=0;

changesort(stu,M,N);

/*对总分进行排序*/

k=0;

if(i>

stu[i-1].number);

stu[i-1].name);

j{

stu[i-1].score[j]);

/*输出数据结构前3名同学成绩*/

/*输出离散数学前3名同学成绩*/

/*输出大学英语前3名同学成绩*/

intflag=1,i;

flag=0;

iif(a[i].score[j]{

temp=a[i];

a[i+1]=temp;

inti,k;

奇偶交换成绩%d排序表"

for

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 机械仪表

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

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