如何用c语言定义一个学生结构(包含学号、年龄两个成员),输入三个学生的数据,按照年龄从大到小进 行排序输出 学生结构定义如下: struct student int age ; char num; 满分:100.0 }stu131:
时间: 2024-02-16 14:05:02 浏览: 69
以下是用 C 语言定义一个学生结构,以及输入三个学生的数据并按年龄从大到小排序输出的示例代码:
```c
#include <stdio.h>
#include <stdlib.h>
struct student {
char num[10];
int age;
};
int cmp(const void *a, const void *b) {
return ((struct student *)b)->age - ((struct student *)a)->age;
}
int main() {
struct student stu[3];
// 输入三个学生的数据
for (int i = 0; i < 3; i++) {
printf("请输入第 %d 个学生的学号和年龄:\n", i + 1);
scanf("%s%d", stu[i].num, &stu[i].age);
}
// 按年龄从大到小排序
qsort(stu, 3, sizeof(struct student), cmp);
// 输出排序后的结果
printf("按年龄从大到小排序后的结果为:\n");
for (int i = 0; i < 3; i++) {
printf("学号:%s,年龄:%d\n", stu[i].num, stu[i].age);
}
return 0;
}
```
注意:在这个示例代码中,我们使用了标准库函数 `qsort()` 来进行排序,需要包含 `stdlib.h` 头文件。同时,为了方便输入学号,我们将学号定义为字符串类型,而不是字符类型。
阅读全文