qaz12345678_ @ 2024-07-26 14:44:47
#include <bits/stdc++.h>
using namespace std;
int n;
struct Su
{
string name;
int m,c,e,sum = 0;
}a[1005];
bool cmp(Su x,Su y)
{
return x.sum > y.sum;
}
int main()
{
cin >> n;
for (int i = 1;i <= n;i++)
{
cin >> a[i].name >> a[i].m >> a[i].c >> a[i].e;
a[i].sum = a[i].m + a[i].c + a[i].e;
}
sort(a + 1,a + n + 1,cmp);
cout << a[1].name << " " << a[1].m << " " << a[1].c << " " << a[1].e;
}
by NEKO_Daze @ 2024-07-26 14:48:14
如果有多个总分相同的学生,输出靠前的那位。
by lcfollower @ 2024-07-26 15:35:13
@qaz12345678_
如果有多个总分相同的学生,输出靠前的那位。
sort()
并不是稳定的排序,所以需要再维护一个结构体来表示学生的输入编号。
当然