|
发表于 2020-2-27 23:18:10
|
显示全部楼层
本帖最后由 major_lyu 于 2020-2-27 23:20 编辑
给你写了个冒泡排序的。你可以用更高效的排序算法。
- #include <stdio.h>
- typedef struct
- {
- char name[20];
- int age;
- int salary;
- } Employee;
- void sortEmployee(Employee ems[], int num) //对Employee结构体数组ems中的结构体按照年薪从高到低排序,num为数组元素个数
- {
- for (int i = 0; i < num - 1; i++)
- {
- for (int j = 0; j < num -1; j++)
- {
- if (ems[j].salary < ems[j+1].salary)
- {
- Employee temp = ems[j];
- ems[j] = ems[j+1];
- ems[j+1] = temp;
- }
- }
- }
- }
- int main(void)
- {
- Employee ems[3] = {
- {"Zhang San", 32, 34000},
- {"Li Si", 24, 20000},
- {"Wang Wu", 27, 32000}};
- sortEmployee(ems, 3); // 调用排序函数。
- for (int i = 0; i< 3; i++) //输出排序结果
- {
- printf("%20s %4d %8d\n", ems[i].name, ems[i].age, ems[i].salary);
- }
- return 0;
- }
复制代码 |
|