数据结构的三种排序实验
一、实验目的
- 掌握常用的排序方法,并掌握用高级语言实现排序算法的方法。
- 深刻理解排序的定义和各种排序方法的特点,并能加以灵活应用。
- 了解各种方法的排序过程及其依据的原则,并掌握各种排序方法的时间复杂度的分析方法。
二、实验内容:
- 给出n个学生的考试成绩表,每条信息由姓名和分数组成,试设计一个算法并实现:按分数高低次序,打印出每个学生在考试中获得的名次,分数相同的为同一名次;按名次输出每个学生的姓名与分数。
- 各种排序方法的实现(要求至少实现三种排序方法)。
三、实验要求
1.两个题目都必做。
2.在本题下面提交源程序和实验运行结果截图。
3.上交纸质实验报告和电子版实验报告。
4. 给出n个学生的考试成绩表,每条信息由姓名和分数组成,试设计一个算法并实现:按分数高低次序,打印出每个学生在考试中获得的名次,分数相同的为同一名次;按名次输出每个学生的姓名与分数。
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
#define n 3
struct student {
char name[8];
int score;
} R[n];
main ( ) {
int num, i, j, max;
student temp;
printf("\n请输入学生成绩: \n");
for (i=0; i<n; i++) {
printf ("姓名:");
scanf ("%s", &(R[i].name));
printf ("成绩:");
scanf ("%d", &(R[i].score));
}
num=1;
for (i=0; i<n; i++) {
max=i;
for (j=i+1; j<n; j++)
if (R[j].score>R