这题有点烦人!!!(解题)
2025-07-18 20:28:57
发布于:上海
2阅读
0回复
0点赞
//1薪资从大到小排序。
//2薪资相同时,按照职位等级从大到小排序。
//3薪资、职位等级均相同的情况下,按照所属部门编号从小到大排序。
//4薪资、职位等级、部门均相同时,按照员工编号从小到大排序。
//分别为员工编号、薪资、部门、职位等级。
#include<iostream>
#include<algorithm>
using namespace std;
struct stu{
int number,money,department,job;
}a[1000000];
int cmp(stu x,stu y){
if(x.money != y.money){
return x.money>y.money;
}else if(x.job != y.job){
return x.job>y.job;
}else if(x.department != y.department){
return x.department<y.department;
}else if(x.number != y.number){
return x.number<y.number;
}
}
int main(){
int n;
cin>>n;
for(int i=1;i<=n;i++){
cin>>a[i].number>>a[i].money>>a[i].department>>a[i].job;
}
sort(a+1,a+n+1,cmp);
for(int i=1;i<=n;i++){
cout<<a[i].number<<" ";
}
return 0;
}
这里空空如也
有帮助,赞一个