结构体应用 + 排序算法
2023-07-26 13:32:58
发布于:浙江
20阅读
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;
    }
}
这里空空如也



有帮助,赞一个