
按结构体把每个人的成绩和id记录一下,然后写好cmp函数就行。
代码如下
#include <bits/stdc++.h>
using namespace std;
struct node {
int id,s;
}p[10000];
int cmp(node a,node b){
return a.s == b.s ? a.id < b.id : a.s > b.s;
}
int main(){
int n,a,b,c,d,sum = 0;
cin >> n;
for (int i=1; i<=n; i++) {
cin >> a >> b >> c >> d;
sum = a+ b + c+ d;
p[i].id = i;
p[i].s = sum;
}
sort(p+1, p+n+1,cmp);
for (int i=1; i<=n; i++) {
// cout << p[i].s << ' ' << p[i].id << endl;
if (p[i].id == 1){
cout << i << endl;
break;
}
}
return 0;
}
本文提供了一个使用C++进行编程竞赛的例子。通过定义结构体来存储参赛者的ID和成绩总和,并实现比较函数用于成绩排序。最终输出指定ID参赛者的排名情况。
471

被折叠的 条评论
为什么被折叠?



