定义结构体类型,动态分配结构体数组的大小n,输入n个学生信息。对n个学生按照成绩从低到高顺序排序,输出排序后结果
时间: 2024-02-24 09:00:35 浏览: 22
好的,让我来解答这个问题。
首先,我们需要定义一个结构体类型来存储学生信息,包括姓名和成绩:
```c
typedef struct Student {
char name[20];
int score;
} Student;
```
然后,我们需要动态分配结构体数组的大小n:
```c
int n;
printf("请输入学生人数: ");
scanf("%d", &n);
// 动态分配结构体数组空间
Student *students = (Student*)malloc(n * sizeof(Student));
```
接下来,我们需要输入n个学生的信息:
```c
for (int i = 0; i < n; i++) {
printf("请输入第%d个学生的姓名: ", i + 1);
scanf("%s", students[i].name);
printf("请输入第%d个学生的成绩: ", i + 1);
scanf("%d", &students[i].score);
}
```
最后,我们需要按照成绩从低到高顺序排序,并输出排序后的结果:
```c
// 冒泡排序
for (int i = 0; i < n - 1; i++) {
for (int j = 0; j < n - i - 1; j++) {
if (students[j].score > students[j + 1].score) {
Student temp = students[j];
students[j] = students[j + 1];
students[j + 1] = temp;
}
}
}
// 输出排序后的结果
printf("按照成绩从低到高排序后的结果为:\n");
for (int i = 0; i < n; i++) {
printf("第%d个学生姓名: %s, 成绩: %d\n", i + 1, students[i].name, students[i].score);
}
```
完整代码如下:
相关推荐
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![application/x-zip](https://img-home.csdnimg.cn/images/20210720083736.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)