奖学金
经典快排,用结构体方便一点,用c语言好像只能调用qsort,还没试过
#include<cstdio>
#include<algorithm>
using namespace std;
struct student{
int f;
int x;
int y;
}a[1000];
bool cmp(student a,student b)
{
if(a.f==b.f&&a.y!=b.y)return a.y>b.y;
if(a.f==b.f&&a.y==b.y)return a.x<b.x;
return a.f>b.f;
}
int main(void)
{
int n,i,math,eng;
scanf("%d",&n);
for(i=0;i<n;i++)
a[i].f=0;
for(i=0;i<n;i++)
{
scanf("%d%d%d",&a[i].y,&math,&eng);
a[i].f=a[i].y+math+eng;
a[i].x=i+1;
}
sort(a,a+n,cmp);
for(i=0;i<5;i++)
{
printf("%d %d\n",a[i].x,a[i].f);
}
return 0;
}