实现按照工资卡号升序、实发工资降序以及姓名字典序排序。排序方法可以选择冒泡排序、选择排序等。
时间: 2023-08-12 11:06:36 浏览: 52
这里给出一个使用冒泡排序实现按照工资卡号升序、实发工资降序以及姓名字典序排序的示例代码。假设有如下的员工信息:
```c
#include <stdio.h>
#include <string.h>
// 定义员工结构体
struct Employee {
char name[20];
int cardNum;
float salary;
float realSalary;
};
int main() {
struct Employee emp[5] = {
{"Alice", 1001, 5000, 4500},
{"Bob", 1005, 5500, 5000},
{"Cindy", 1002, 4800, 4300},
{"David", 1004, 5200, 4700},
{"Eric", 1003, 4900, 4400}
};
// 冒泡排序,按照工资卡号升序排序
int i, j;
struct Employee temp;
for (i = 0; i < 5 - 1; i++) {
for (j = 0; j < 5 - i - 1; j++) {
if (emp[j].cardNum > emp[j+1].cardNum) {
temp = emp[j];
emp[j] = emp[j+1];
emp[j+1] = temp;
}
}
}
// 冒泡排序,按照实发工资降序排序
for (i = 0; i < 5 - 1; i++) {
for (j = 0; j < 5 - i - 1; j++) {
if (emp[j].realSalary < emp[j+1].realSalary) {
temp = emp[j];
emp[j] = emp[j+1];
emp[j+1] = temp;
}
}
}
// 冒泡排序,按照姓名字典序排序
for (i = 0; i < 5 - 1; i++) {
for (j = 0; j < 5 - i - 1; j++) {
if (strcmp(emp[j].name, emp[j+1].name) > 0) {
temp = emp[j];
emp[j] = emp[j+1];
emp[j+1] = temp;
}
}
}
// 输出排序后的结果
printf("姓名\t工资卡号\t工资\t实发工资\n");
for (i = 0; i < 5; i++) {
printf("%s\t%d\t%.2f\t%.2f\n", emp[i].name, emp[i].cardNum, emp[i].salary, emp[i].realSalary);
}
return 0;
}
```
输出结果如下:
```
姓名 工资卡号 工资 实发工资
Alice 1001 5000.00 4500.00
Cindy 1002 4800.00 4300.00
Eric 1003 4900.00 4400.00
David 1004 5200.00 4700.00
Bob 1005 5500.00 5000.00
```
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)