结构体的排序,自己写一个 sort 函数的比较算法就好了。
#include<bits/stdc++.h> using namespace std; struct student{ string name; int age; int score; }; typedef struct student stu; bool cmp(stu &a,stu &b){//这里注意 cmp 函数书写的严格弱序规则! if(a.score!=b.score){ return a.score<b.score; } else if(a.name.compare(b.name)!=0){ return a.name<b.name; } else{ return a.age<b.age; } } int main(){ int n; while(cin>>n){ stu a[n]; for(int i=0;i<n;i++){ cin >> a[i].name >> a[i].age >> a[i].score; } sort(a,a+n,cmp); for(int i=0;i<n;i++){ cout << a[i].name << " " << a[i].age << " " << a[i].score << endl; } } return 0; }
0.0分
0 人评分