码风规范,简洁易懂题解
2025-08-03 17:16:27
发布于:上海
1阅读
0回复
0点赞
代码如下:
#include<iostream>
#include<algorithm>
using namespace std;
int n;
struct stu{
int a;
int x;
int y;
}s[501];
bool cmp(stu a, stu b){
if(a.y == b.y && a.x == b.x){//对于进步情况和总分都相同的同学,则按照学号从小到大输出。
return a.a < b.a;
}else if(a.y == b.y){//在进步情况相同的同学中,总分较高的同学能拿到靠前的奖品
return a.x > b.x;
}
return a.y > b.y;//否则有进步的同学先发
}
int main(){
cin >> n;
for(int i = 0; i < n; i++){
cin >> s[i].a >> s[i].x >> s[i].y;
}
sort(s, s + n, cmp);//发奖顺序排序
for(int i = 0; i < n; i++){
cout << s[i].a << endl;
}
return 0;
}
全部评论 1
制作不易,留赞后去
2025-08-03 来自 上海
0
有帮助,赞一个