请各位 dalao 帮忙看一下代码 ↓
#include<bits/stdc++.h>
#define summ(x) a[x].sum=a[x].chi+a[x].mat+a[x].eng;
#define f(x) sort(x+1,x+1+n,cmp);
using namespace std;
struct Stu{
int id;
int chi;
int mat;
int eng;
int sum=0;
} a[100+10];
int n;
int cmp(Stu &l,Stu &r) {
if(l.sum==r.sum) {
if(l.chi==r.chi) l.id<r.id;
else return l.chi>r.chi;
} else return l.sum>r.sum;
}
int main()
{
cin>>n;
for(int i=1;i<=n;i++) {
cin>>a[i].chi>>a[i].mat>>a[i].eng;
summ(i);
a[i].id=i;
}
f(a);
for(int i=1;i<=5;i++) cout<<a[i].id<<" "<<a[i].sum<<endl;
return 0;
}