通过代码:
#include <bits/stdc++.h> using namespace std; struct student { string name; int score; void init() { cin >> name; scanf("%d", &score); } void print() { cout << name; printf(" %d\n", score); } } a[101]; int n; bool cmp(student _a, student _b) { if(_a.score != _b.score) return _a.score < _b.score; int minlen = min(_a.name.size(), _b.name.size()); for(int i = 0; i < minlen; i ++) if(_a.name[i] > _b.name[i]) return true; else if(_a.name[i] < _b.name[i]) return false; return _a.name.size() > _b.name.size(); } int main() { scanf("%d", &n); for(int i = 1; i <= n; i ++) a[i].init(); sort(a + 1, a + n + 1, cmp); for(int i = n; i >= 1; i --) a[i].print(); return 0; }
1178:成绩排序
最新推荐文章于 2023-12-02 19:59:13 发布