LHZ_0123 @ 2018-03-15 10:35:01
一开始90分,排序是总分一样的话,语文成绩高的在前面,如果语文成绩一样,那么竟然是数学成绩高的在后面,,,,有毒
#include<iostream>
#include<algorithm>
using namespace std;
struct s{
int id,a,b,c,total=0;
}stu[333];
bool cmp(s a,s b){
if(a.total!=b.total)
return a.total>b.total;
else{
if(a.a!=b.a)
return a.a>b.a;
else{
if(a.b!=b.b )
return a.b<b.b;
else{
if(a.c!=b.c )
return a.c>b.c;
else{
return a.id<b.id;
}
}
}
}
}
int main()
{
int i,j,n;
cin >>n;
for(i=1;i<=n;i++){
stu[i].id=i;
cin >>stu[i].a>>stu[i].b>>stu[i].c;
stu[i].total=stu[i].a+stu[i].b+stu[i].c;
}
sort(stu+1,stu+n+1,cmp);
for(i=1;i<=5;i++){
cout <<stu[i].id<<" "<<stu[i].total<<endl;
}
return 0;
}