c语言学生成绩降序排序
时间: 2023-08-19 16:29:27 浏览: 75
以下是C语言实现学生成绩降序排序的示例代码:
```
#include <stdio.h>
struct student {
char name[20];
int score;
};
void swap(struct student *a, struct student *b) {
struct student temp = *a;
*a = *b;
*b = temp;
}
void sort(struct student arr[], int n) {
int i, j;
for (i = 0; i < n-1; i++) {
for (j = 0; j < n-i-1; j++) {
if (arr[j].score < arr[j+1].score) {
swap(&arr[j], &arr[j+1]);
}
}
}
}
int main() {
int n, i;
printf("请输入学生人数:");
scanf("%d", &n);
struct student arr[n];
for (i = 0; i < n; i++) {
printf("请输入第%d个学生的姓名和成绩:", i+1);
scanf("%s %d", arr[i].name, &arr[i].score);
}
sort(arr, n);
printf("按成绩降序排序后:\n");
for (i = 0; i < n; i++) {
printf("%s %d\n", arr[i].name, arr[i].score);
}
return 0;
}
```
在这个示例代码中,我们定义了一个`student`结构体,其中包含一个学生的姓名和成绩。我们通过`swap`函数来实现结构体之间的交换,通过`sort`函数来实现冒泡排序。最后在`main`函数中,我们将输入的学生信息存储在一个`student`类型的数组中,调用`sort`函数对其进行排序,然后输出排完序后的学生信息。
阅读全文