一、实验目的
1. 掌握常用的排序方法,并掌握用高级语言实现排序算法的方法。
2. 深刻理解排序的定义和各种排序方法的特点,并能加以灵活应用。
3. 了解各种方法的排序过程及其依据的原则,并掌握各种排序方法的时间复杂度的分析方法。
二、实验内容:
1. 给出n个学生的考试成绩表,每条信息由姓名和分数组成,试设计一个算法并实现:按分数高低次序,打印出每个学生在考试中获得的名次,分数相同的为同一名次;按名次输出每个学生的姓名与分数。
2. 各种排序方法的实现(要求至少实现三种排序方法)。
三、实验要求
1.两个题目都必做。
2.在本题下面提交源程序和实验运行结果截图。
#include<stdio.h>
#include<stdlib.h>
typedef struct{
char name[20];
int num;
int score;
int degree;
}Student,*student;
int save(student w,int n)
{
FILE *fp;
if((fp=fopen("stu.txt","wb"))==NULL)
{
printf("cannot creat the file!\n");
return 1;
}
for(int i=1;i<=n;i++)
{
fwrite(w+1,sizeof(Student),1,fp);
w++;