结构体排序有n个学生的信息
时间: 2023-06-14 18:05:36 浏览: 69
可以采用结构体排序的方法来对n个学生的信息进行排序。具体步骤如下:
1. 定义一个结构体类型,包含每个学生的信息,如姓名、年龄、性别、成绩等。
2. 定义一个数组,将每个学生的信息存储在数组中。
3. 利用排序算法对数组中的学生信息进行排序,比如冒泡排序、插入排序、选择排序等。
4. 输出排序后的学生信息。
以下是一个示例代码,以学生的成绩从高到低排序为例:
```
#include <stdio.h>
#include <string.h>
// 定义结构体类型
struct Student {
char name[20];
int age;
char gender;
int score;
};
int main() {
int n, i, j;
struct Student students[100]; // 定义一个数组,存储学生信息
// 输入学生信息
printf("请输入学生人数:");
scanf("%d", &n);
for (i = 0; i < n; i++) {
printf("请输入第%d个学生的姓名、年龄、性别、成绩:", i+1);
scanf("%s %d %c %d", students[i].name, &students[i].age, &students[i].gender, &students[i].score);
}
// 冒泡排序,按照成绩从高到低排序
for (i = 0; i < n-1; i++) {
for (j = 0; j < n-i-1; j++) {
if (students[j].score < students[j+1].score) {
struct Student temp = students[j];
students[j] = students[j+1];
students[j+1] = temp;
}
}
}
// 输出排序后的学生信息
printf("\n按照成绩从高到低排序后的学生信息如下:\n");
for (i = 0; i < n; i++) {
printf("%s %d %c %d\n", students[i].name, students[i].age, students[i].gender, students[i].score);
}
return 0;
}
```
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)