帮帮我啊!(急)数据结构问题

来源:百度知道 编辑:UC知道 时间:2024/06/08 10:28:06
我这里有道题,麻烦哪位高手来帮我解决一下!谢谢了啊!
问题是:
统计成绩,给出n个学生的考试成绩表,每条信息由姓名与分数组成,编写一个程序实现:
(1)按分数高低次序,打印出每个学生在考试中获得的名次,分数相同的为同一名次.
(2)按名次列出每个学生的姓名与分数.
用C语言

我试试吧!应该不难!
#include <stdio.h>
#include <string.h>
struct entry{
float score;
char name;
int n;
};

int cmp(float a,float b){
if (a>b) return 1;
else return 0;
}

void insertSort(struct entry *s,int m){
int i;
int j;
int n;
int k;
struct entry L[1000];
struct entry *p;
L[0].score=0;
L[0].name='0';
i=1;
for(p=s;p<s+m+1;++p){
L[i].score=p->score;
L[i].name=p->name;
i++;
}
for (i=2;i<m+1;i++){
if (cmp(L[i].score,L[i-1].score)){
L[0]=L[i];
L[i]=L[i-1];
for (j=i-2;cmp(L[0].score,L[j].score);--j){
L[j+1]=L[j];
}
L[j+1]=L[0];
}
}
k=0;
L[1].n=1;
for (i=2;i<m+1;i++){
if (L[i].score==L[i-1].score){
k=k+1;
L[i].n=i-k;
}
else{
L[i].n=i-k;
}
}
pr