让机房里的大佬看了 他也说没问题 回顾初赛时做的很简单的一道题 很快做完了但死活不对
题面大概是这样:给出班里某门课程的成绩单,请你按成绩从高到低对成绩单排序输出,如果有相同分数则名字字典序小的在前。【输入样例】
4
Kitty 80
Hanmeimei 90
Joey 92
Tim 28
【输出样例】
Joey 92
Hanmeimei 90
Kitty 80
这是我的代码
#include <bits/stdc++.h>
using namespace std;
struct people{
string name;
int grade;
bool operator>(const people &hxt)const{
return name>hxt.name;
}
}hxt[25];
int main(){
int n;
cin>>n;
for(int i=1;i<=n;i++){
cin>>hxt[i].name>>hxt[i].grade;
}
for(int i=1;i<n;i++)
for(int j=1;j<n-i;j++){
if(hxt[j].grade<hxt[j+1].grade){
swap(hxt[j],hxt[j+1]);
}else if(hxt[j].grade==hxt[j+1].grade&&hxt[j].name>hxt[j+1].name){
swap(hxt[j],hxt[j+1]);
}
}
for(int i=1;i<=n;i++){
cout<<hxt[i].name<<" "<<hxt[i].grade<<endl;
}
return 0;
}
让机房里的大佬看了 他也说没问题 回顾初赛时做的很简单的一道题 很快做完了但死活不对