描述
信息科学技术学院年终评定讲学金,需要对整个年级的学生按照平均分数进行排名.
要求:根据输入的学号和平均成绩,按照平均成绩降序输出学号
如果平均成绩相同,按照输入的顺序输出。
输入
第一行为N,表示输入N位学生的信息,接着的N行输入学生信息,1<=N<=500
学生信息的格式为:学号 平均成绩
学号的长度小于10,平均成绩在1-100之间.
输出
按照平均成绩降序输出学号,如果平均成绩相同,按照输入顺序输出
样例输入
样例输出
要求:根据输入的学号和平均成绩,按照平均成绩降序输出学号
如果平均成绩相同,按照输入的顺序输出。
学生信息的格式为:学号 平均成绩
学号的长度小于10,平均成绩在1-100之间.
5 10948001 80 10948004 90 10948101 95 10948102 80 10948209 90
10948101 10948004 10948209 10948001 10948102
#include<stdio.h>
struct Student
{
int id;
float score;
}Student[600],p;
int main()
{
int n,i,t,j,k;
scanf("%d",&n);
for(i=0;i<n;i++)
scanf("%d %f",&Student[i].id,&Student[i].score);
for(i=0;i<n-1;i++)
{
for(j=0;j<n-1-i;j++)
{
if(Student[j].score<Student[j+1].score)
{
p=Student[j];
Student[j]=Student[j+1];
Student[j+1]=p;
}
}
}
for(i=0;i<n;i++)
printf("%d\n",Student[i].id);
}