用C语言写一个代码,使他能够实现按照学生的学号排序
时间: 2024-03-21 12:43:38 浏览: 13
好的,以下是一个用C语言实现按照学生学号排序的示例代码:
```c
#include <stdio.h>
typedef struct {
int id;
char name[20];
int score;
} Student;
void sort(Student *students, int n) {
int i, j;
Student temp;
for (i = 0; i < n - 1; i++) {
for (j = i + 1; j < n; j++) {
if (students[i].id > students[j].id) {
temp = students[i];
students[i] = students[j];
students[j] = temp;
}
}
}
}
int main() {
Student students[5] = {{3, "Tom", 80}, {2, "Jack", 90}, {1, "Alice", 85}, {5, "Bob", 70}, {4, "Lucy", 95}};
int i;
sort(students, 5);
for (i = 0; i < 5; i++) {
printf("id:%d name:%s score:%d\n", students[i].id, students[i].name, students[i].score);
}
return 0;
}
```
这个示例代码中定义了一个学生结构体,包含学号、姓名和成绩三个属性。sort函数接收一个学生结构体数组和学生数量n,使用冒泡排序算法按照学号从小到大排序。在main函数中定义了一个包含5个学生的数组,调用sort函数进行排序后输出每个学生的信息。