成绩排序
成绩排序主要考察sort排序内规则的写法,cmp
#include <iostream> #include <algorithm> #include <cstring> using namespace std; const int N = 1e3 + 50; typedef struct st { string name; int age; double sc; } s; s stu[N]; bool cmp(s stu1, s stu2) { if (stu1.sc != stu2.sc) return stu1.sc < stu2.sc; else { if (stu1.name != stu2.name) return stu1.name < stu2.name; else return stu1.age < stu2.age; } } int main() { int n; cin >> n; for (int i = 0; i < n; i++) cin >> stu[i].name >> stu[i].age >> stu[i].sc; sort(stu, stu + n, cmp); for (int i = 0; i < n; i++) cout << stu[i].name << " " << stu[i].age << " " << stu[i].sc << endl; }