作业比赛编号 : 2497 - 十五班结构体练习(定义与排序)
结构体
#include<iostream>
#include<algorithm>
using namespace std;
struct student {
int id;
int sum;
};
//核心函数
int cmp(student a,student b) {
//如果成绩不同,成绩高排在前
if(a.sum!=b.sum)
return a.sum>b.sum;
//如果成绩相同,学号小的在前
else
return a.id<b.id;
}
int main() {
int n;
cin>>n;
student stu[n+10];
for (int i=0;i<n;i++) {
cin>>stu[i].id>>stu[i].sum;
}
//对数据进行排序
sort(stu,stu+n,cmp);
for (int i=0;i<n;i++) {
cout << stu[i].id<<" "<<stu[i].sum<<endl;
}
return 0;
}
