题解(勿抄)
2023-07-25 10:05:36
发布于:上海
1134阅读
0回复
0点赞
#include<bits/stdc++.h>
using namespace std;
struct score{
int chi,mat,eng;//分别为 语文 数学 英语
int id,total;// 学号 总分
}a[1005];
bool cmp(score x,score y){//因为结构体要排序,所以用cmp
if(x.total == y.total){//根据题目要求进行判断
if(x.chi == y.chi){
return x.id < y.id;
}
return x.chi > y.chi;
}
return x.total > y.total;
}
int main(){
int n;
cin >> n;
for(int i = 1;i <= n;i++){//这是个人喜好才设置的i = 1
cin >> a[i].chi >> a[i].mat >> a[i].eng;//输入各科分数
a[i].id = i;//输入学号,让id变成输入时的序号
a[i].total = a[i].chi + a[i].mat + a[i].eng;
}
sort(a+1,a+n+1,cmp);//直接排序
for(int i=1;i<=5;i++)cout << a[i].id << " " << a[i].total << endl;
//然后按题目样例进行输出
return 0;
}
全部评论 2
这不是董吗
2024-05-05 来自 上海
0抄你的干嘛,洛谷有(doge
2023-08-05 来自 浙江
0
有帮助,赞一个