用c语言编写一个函数,将五个学生的成绩按升降排序,包括学生的学号,姓名,成绩
时间: 2023-05-13 12:06:24 浏览: 270
好的,以下是一个用 C 语言编写的函数,可以将五个学生的成绩按升降排序,包括学生的学号、姓名和成绩:
```c
#include <stdio.h>
#include <string.h>
struct student {
int id;
char name[20];
int score;
};
void sort_students(struct student students[], int n) {
int i, j;
struct student temp;
for (i = 0; i < n - 1; i++) {
for (j = 0; j < n - i - 1; j++) {
if (students[j].score < students[j + 1].score) {
temp = students[j];
students[j] = students[j + 1];
students[j + 1] = temp;
}
}
}
}
int main() {
struct student students[5] = {
{1, "张三", 80},
{2, "李四", 90},
{3, "王五", 70},
{4, "赵六", 85},
{5, "钱七", 75}
};
int i;
printf("排序前:\n");
for (i = 0; i < 5; i++) {
printf("学号:%d,姓名:%s,成绩:%d\n", students[i].id, students[i].name, students[i].score);
}
sort_students(students, 5);
printf("排序后:\n");
for (i = 0; i < 5; i++) {
printf("学号:%d,姓名:%s,成绩:%d\n", students[i].id, students[i].name, students[i].score);
}
return 0;
}
```
这个函数使用了结构体来存储每个学生的信息,然后使用冒泡排序算法对学生的成绩进行排序。在 `main` 函数中,我们先输出排序前的学生信息,然后调用 `sort_students` 函数进行排序,最后再输出排序后的学生信息。
阅读全文