用C语言编写设计一个保存学生情况的结构体数据类型,学生情况包括姓名、学号、年龄。输入5个学生的情况,输出学生的平均年龄和年龄最小的那个学生的情况。要求输入和输出分别编写独立的输入函数input()和输出函数output()。
时间: 2024-02-03 21:15:22 浏览: 57
编写程序,输入并保存5名学生的信息,计算出平均分,再按照成绩从高到低的顺序输出他们的信息。学生信息包括:学号、姓名、成绩。
以下是代码实现:
```c
#include <stdio.h>
#include <string.h>
// 定义学生结构体
struct Student {
char name[20];
char id[10];
int age;
};
// 输入函数
void input(struct Student *stu) {
printf("请输入学生姓名:");
scanf("%s", stu->name);
printf("请输入学生学号:");
scanf("%s", stu->id);
printf("请输入学生年龄:");
scanf("%d", &stu->age);
}
// 输出函数
void output(struct Student *stu) {
printf("姓名:%s,学号:%s,年龄:%d\n", stu->name, stu->id, stu->age);
}
int main() {
struct Student students[5]; // 定义5个学生的结构体数组
int i, sum = 0, min_age = 100, min_index;
float avg_age;
// 输入5个学生的信息
for (i = 0; i < 5; i++) {
printf("请输入第%d个学生的信息:\n", i + 1);
input(&students[i]);
sum += students[i].age; // 计算年龄总和
if (students[i].age < min_age) { // 查找最小年龄的学生
min_age = students[i].age;
min_index = i;
}
}
// 计算平均年龄
avg_age = (float)sum / 5;
// 输出平均年龄和年龄最小的学生信息
printf("平均年龄为:%.2f\n", avg_age);
printf("年龄最小的学生为:");
output(&students[min_index]);
return 0;
}
```
阅读全文