信奥赛一本通 1178:成绩排序
作者:
yuki_cy
,
2024-10-02 18:15:00
,
所有人可见
,
阅读 1
结构体 + sort + 改写cmp函数
//按成绩从高到低对成绩单排序输出,
//如果有相同分数则名字字典序小的在前
#include<iostream>
#include<algorithm>
#include<cstring>
using namespace std;
struct node{
char name[30];
int score;
};
node stu[30];
bool cmp(node x ,node y){
if(x.score==y.score) {
if(strcmp(x.name,y.name)<0)return true;
else return false;
}else{
return x.score > y.score;
}
}
int main(){
int n;
cin >> n;
for(int i=1;i<=n;i++){
cin >> stu[i].name;
cin >> stu[i].score;
}
sort(stu+1,stu+n+1,cmp);
for(int i=1;i<=n;i++){
cout << stu[i].name<<" " <<stu[i].score <<endl;
}
return 0;
}