0
已解决
王子豪
资深守护
资深守护
#include<iostream>
#include<cstdio>
#include<algorithm>
using namespace std;
struct mz{
string name;
int bh;
}a[200];
bool cmp(mz x,mz y){//加规则
if(x.name!=y.name){
return x.name<y.name;
}
return x.bh>y.bh;//按照姓、名从大到小排序
}
int main(){
int n;
cin>>n;
getchar();//吃换行
for(int i=1;i<=n;i++){
getline(cin,a[i].name);//输入名字缩写
int b=a[i].name.size()-1;
for(int j=0;j<=b;j++){
if(a[i].name[j]>='0'&&a[i].name[j]<='9'){
a[i].bh=a[i].name[j]-48;//编号
a[i].name.erase(j-1,2);
}
}
}
sort(a+1,a+1+n,cmp);//排序
for(int i=1;i<=n;i++){
cout<<a[i].name<<' '<<a[i].bh<<endl;
}
return 0;
}