#include<iostream>
#include<cstring>
#include<stdio.h>
#include<algorithm>
using namespace std;
struct xuesheng{
char xuexiao[20];//懒得改成name
int chengji;
};
int x,y;
bool cmp(xuesheng a,xuesheng b){
if(a.chengji!=b.chengji)
return a.chengji>b.chengji;
for(int i=0;i<20;i++){
if(a.xuexiao[i]!=b.xuexiao[i]){//试了一下直接return a.xuexiao[i]<b.xuexiao[i],但是并没有按字母顺序排,不知道为啥。
x=a.xuexiao[i];
y=b.xuexiao[i];
return x<y;
}
}
}
int main(){
int n;cin >>n;
struct xuesheng a[n];
for(int i=0;i<n;i++)
cin >>a[i].xuexiao>>a[i].chengji;
sort(a,a+n,cmp);
for(int i=0;i<n;i++)
cout <<a[i].xuexiao<<" "<<a[i].chengji<<endl;
}
noi成绩排序C++
最新推荐文章于 2022-12-02 15:07:24 发布