C语言 结构体 输入5位同学的姓名和年龄信息,然后按照年龄从小到大输出
时间: 2024-02-17 07:04:57 浏览: 46
可以使用结构体数组和冒泡排序来实现该功能。
首先定义一个结构体类型,包含学生姓名和年龄两个成员:
```c
#include <stdio.h>
#include <string.h>
struct Student {
char name[20];
int age;
};
```
然后定义一个结构体数组,用于存储五位同学的信息:
```c
struct Student students[5];
```
接下来,使用循环输入每位同学的姓名和年龄信息:
```c
for (int i = 0; i < 5; i++) {
printf("请输入第%d位同学的姓名和年龄:", i+1);
scanf("%s%d", students[i].name, &students[i].age);
}
```
最后,使用冒泡排序按照年龄从小到大排序,并输出排序后的结果:
```c
// 冒泡排序
for (int i = 0; i < 5 - 1; i++) {
for (int j = 0; j < 5 - i - 1; j++) {
if (students[j].age > students[j+1].age) {
// 交换两个元素的位置
struct Student temp = students[j];
students[j] = students[j+1];
students[j+1] = temp;
}
}
}
// 输出排序后的结果
for (int i = 0; i < 5; i++) {
printf("姓名:%s,年龄:%d\n", students[i].name, students[i].age);
}
```
完整代码如下: