#2077. 员工薪资分类与排序(难度电子学会T4)
员工薪资分类与排序(难度电子学会T4)
员工薪资分类与排序
输入一组员工的信息(包括员工编号和薪资),将薪资大于等于5000的员工按照薪资从高到低输出,薪资低于5000的员工按照输入顺序输出。
输入格式:
- 第一行输入一个整数
n,表示员工的数量。 - 接下来的
n行每行输入一个字符串id(员工编号)和一个整数salary(员工薪资)。
输出格式:
- 先按照薪资从高到低输出高薪员工的编号。
- 然后按输入顺序输出其他员工的编号。
解题思路
- 定义数据结构:
- 使用结构体
Employee存储每个员工的信息,包括id(员工编号)和salary(薪资)。 - 使用两个数组
high和low分别存储高薪(大于等于5000)和低薪(小于5000)的员工信息。
- 使用结构体
- 输入数据和分类:
- 首先输入员工数量
n。 - 然后,通过循环读取每个员工的编号和薪资,分类存储到相应的数组中。
- 首先输入员工数量
- 排序和输出:
- 使用
stable_sort对high数组按薪资从高到低排序。 - 按顺序输出
high数组中的员工编号。 - 按输入顺序输出
low数组中的员工编号。
- 使用
解释:
E002和E003为高薪员工,按薪资从高到低排序。E001和E004为低薪员工,按输入顺序输出