源代码
//同学们!事先说明一下,如果要抄的话就改一下变量名,添几个注释!
//导入头文件
#include <bits/stdc++.h>
using namespace std;
//使用struct 这里用来排序
struct bi{
int no,ch,ma,en,sun;
}a[10086];
//套用 struct 比较模板
bool cmp(bi x,bi y){
if(x.sun!=y.sun){
return x.sun>y.sun;
}else{
return x.no<y.no;
}
}
//定义主函数
int main(){
int n;
cin>>n;
//套用循环,输入“bi”中的每一个数
for(int i=0;i<n;i++){
cin>>a[i].ch>>a[i].ma>>a[i].en;
a[i].no=i;
a[i].sun=a[i].ch+a[i].ma+a[i].en;
}
//排序:sort
sort(a,a+n,cmp);
//这里是为了避雷,因为题目要求分数相等,比较语文成绩,如果语文成绩相等,就按输入顺序排序
for(int i=0;i<n;i++){
//##注意 一定是[i+1]与前面的[i]进行比较,这样就能在语文成绩相等时自动按顺序排序
if(a[i+1].sun==a[i].sun && a[i+1].ch>a[i].ch){
swap(a[i+1],a[i]);
}
}
//输出,这里循环五次是因为要求输出前五名
for(int i=0;i<5;i++){
cout<<a[i].no+1<<" "<<a[i].sun<<endl;
}
}