解题思路:
注意事项:
参考代码:
#include<iostream>
#include<algorithm>
#include<cstring>
using namespace std;
struct Stu
{
int m; //数学
int c; //语文
int e; //英语
int sum; //总分
int id; //学号
}a[310];
bool cmp(Stu a,Stu b) //排序规则
{
if(a.sum!=b.sum) //总分不同时
return a.sum>b.sum;
else if(a.c!=b.c) //总分相同,语文成绩不同时
return a.c>b.c;
else //总分相同,语文成绩相同,学号不同时
return a.id<b.id;
}
int n;
int main()
{
cin >> n;
for(int i=1;i<=n;i++)
{
cin >> a[i].c >> a[i].m >> a[i].e;
a[i].sum=a[i].c+a[i].e+a[i].m; //总分
a[i].id=i; //学号
}
sort(a+1,a+n+1,cmp); //排序
for(int i=1;i<=5;i++)
{
cout << a[i].id << " " << a[i].sum << endl;
}
return 0;
}
0.0分
2 人评分