结构体的排序,自己写一个 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 人评分
C语言程序设计教程(第三版)课后习题1.6 (C语言代码)浏览:702 |
C语言训练-计算t=1+1/2+1/3+...+1/n (C语言代码)浏览:906 |
简单的a+b (C语言代码)浏览:528 |
【计算球体积】 (C语言代码)浏览:1102 |
幸运数 (C++代码)浏览:1264 |
判定字符位置 (C语言代码)浏览:799 |
C语言训练-大、小写问题 (C语言代码)浏览:681 |
C语言程序设计教程(第三版)课后习题7.5 (C语言代码)浏览:684 |
敲七 (C++代码)浏览:1056 |
母牛的故事 (C语言代码)浏览:478 |