结构体应用 + 排序算法
2023-07-26 13:32:58
发布于:浙江
14阅读
0回复
0点赞
#include<bits/stdc++.h>
using namespace std;
struct athletic{
string name;
int a,b,c,ord;//金牌,银牌,铜牌数量以及输入顺序
int all;//等输入完了以后再求和,别怪我没有提醒
}k[100001];
bool cmp(athletic n,athletic m){
if(n.all!=m.all) return n.all>m.all;
else{
if(n.a!=m.a) return n.a>m.a;
else{
if(n.b!=m.b) return n.b>m.b;
else return n.ord<m.ord;
}
}
}
int main(){
int n;
cin>>n;
for(int i=0;i<n;i++){
cin>>k[i].name>>k[i].a>>k[i].b>>k[i].c;
k[i].ord=i;
k[i].all=k[i].a+k[i].b+k[i].c;
}
sort(k,k+n,cmp);
for(int i=0;i<n;i++){
cout<<k[i].name<<" "<<k[i].all<<endl;
}
}
这里空空如也
有帮助,赞一个