题解 | 成绩排序
#include <bits/stdc++.h> using namespace std; typedef struct stu{ string n; int age; int s; }st; bool cmp(st a,st b) { if(a.s!=b.s) return a.s<b.s; else if(a.n!=b.n) return a.n<b.n; else return a.age<b.age; } int main() { int n;cin>>n; st a[1005]; for(int i=0;i<n;i++) cin>>a[i].n>>a[i].age>>a[i].s; sort(a,a+n,cmp); for(int i=0;i<n;i++) cout<<a[i].n<<" "<<a[i].age<<" "<<a[i].s<<endl; }