C语言对10个学生信息按成绩进行降序排序
时间: 2023-07-22 07:29:16 浏览: 96
语言学生成绩管理系统
3星 · 编辑精心推荐
好的,这是一个经典的排序问题,我们可以使用冒泡排序或者快速排序来实现。
这里提供一种冒泡排序的实现方式:
```c
#include <stdio.h>
#include <stdlib.h>
struct student {
char name[20];
int score;
};
void swap(struct student *a, struct student *b) {
struct student tmp = *a;
*a = *b;
*b = tmp;
}
void bubble_sort(struct student array[], int n) {
int i, j;
for (i = 0; i < n-1; i++) {
for (j = 0; j < n-i-1; j++) {
if (array[j].score < array[j+1].score) {
swap(&array[j], &array[j+1]);
}
}
}
}
int main() {
struct student stu[10] = {
{"Alice", 90},
{"Bob", 80},
{"Charlie", 70},
{"David", 60},
{"Emily", 50},
{"Frank", 40},
{"Grace", 30},
{"Henry", 20},
{"Ivy", 10},
{"Jack", 0},
};
bubble_sort(stu, 10);
printf("按成绩降序排列后的结果:\n");
for (int i = 0; i < 10; i++) {
printf("%s %d\n", stu[i].name, stu[i].score);
}
return 0;
}
```
以上代码实现了对10个学生信息按照成绩进行降序排序。
阅读全文