设计一个保存学生情况的结构,学生情况包括姓名,学号,年龄,输入五个学生的情况,输出学生的平均年龄和年龄最小的学生情况,要求输入和输出分别编写独立的函数input和output
代码如下:
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
typedef struct _student
{
int id; //学号
char name[12];
int age;
}Student;
//输入
void input(Student a[], int n)
{
int i = 0;
for (; i < n; i++)
{
printf("请输入第%d个学生的学号:", i + 1);
scanf("%d", &a[i].id);
printf("请输入第%d个学生的姓名:", i + 1);
scanf("%s", a[i].name);
printf("请输入第%d个学生的年龄:", i + 1);
scanf("%d", &a[i].age);
}
printf("录入完毕!\n");
}
//输出
void output(Student a[], int n)
{
float ave = 0;
int min = 0;
int i;
for (i = 0; i < n; i++)
{
ave += a[i].age;
if (a[i].age < a[min].age)
min = i;
}
printf("平均年龄:%.2f\n", ave / n);
printf("年龄最小的学生信息:\n");
printf("学号:%d,姓名:%s,年龄:%d\n", a[min].id, a[min].name, a[min].age);
}
int main()
{
Student a[5];
input(a, 5);
output(a, 5);
return 0;
}