c设计一个保存学生情况的结构,学生情况包括姓名,学号,年龄,输入五个学生的情况,输出学生的平均年龄和年龄最小的学生情况,要求输入和输出分别编写独立的函数input和output

设计一个保存学生情况的结构,学生情况包括姓名,学号,年龄,输入五个学生的情况,输出学生的平均年龄和年龄最小的学生情况,要求输入和输出分别编写独立的函数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;
}