0
已采纳
朱宗晔
初级光能
初级光能
核心部分
cin >> n;
for(int i = 1;i <= n;i ++){
cin >> a[i].xm;
cin >> a[i].fen;
}
sort(a + 1, a + 1 + n,cmp);
for(int i = 1;i <= n;i ++){
cout << a[i].xm << endl;
}
注意
struct fs{
string fen;
string xm;
}a[505];
int cmp(const fs& a,const fs& b){
if(a.fen.size() != b.fen.size()) return a.fen.size() > b.fen.size();
else if(a.fen != b.fen) return a.fen > b.fen;
else return a.xm < b.xm;
}
朱宗晔在2018-01-23 16:38:01追加了内容
数字太大,用字符串保存。
步骤:
1、用结构体里的字符串1和字符串2保存姓名和分数
2、多关键字排序,注意:
① 先比较长度,如果长度不同则
return a.fen.size() > b.fen.size();
② 如果长度相等,则比较他俩是不是一样,如果不一样则
return a.fen > b.fen;
③ 如果依然相等则
return a.xm < b.xm;
0
0
谢其桦
资深守护
资深守护
{
sort(a + 1, a + 1 + n,cmp);
for(int i = 1;i <= n;i ++){
cout << a[i].xm << endl;
}
0