处理45个学生的信息(批量),定义45个Stu类型的数组 ,读入数组元素s[2]的初始值,输出s数组中三个学生的信息,找出最高分,输出最高分学生的基本信息,求出所有人的平均成绩

//将代码中注释要求的功能实现
#include <stdio.h>
typedef struct Studentinformation
{
char xuehao[20];
char name[20];
float chengji;
}Stu;
int main()
{//处理45个学生的信息(批量),定义45个Stu类型的数组
int i;
Stu s[3] ={
{"20201329389","张三",90}, {"20201327656","李四",88}
} ;

//读入数组元素s[2]的初始值
printf("input No3 student infomation:");
scanf("%s%s%f",s[2].xuehao, s[2].name, &s[2].chengji);

printf ("编号\t 学号 \t\t\t姓名 \t成绩\n");
//输出s数组中三个学生的信息
for(i=0; i<3; i++)
printf ("学生%d\t %s \t\t%s \t%f\n",i+1,s[i].xuehao,s[i].name,s[i].chengji);

//找出最高分,输出最高分学生的基本信息(进阶版:写函数完成该功能)

//求出所有人的平均成绩 (进阶版:写函数完成该功能)
printf("*\n");
return 0;
}

img

如有帮助,还望采纳。


#include <stdio.h>

typedef struct Studentinformation
{
    char xuehao[20];
    char name[20];
    float chengji;
} Stu;

Stu get_max(Stu *p, int n)
{
    Stu max = p[0];
    for (int i = 1; i < n; i++)
    {
        if (p[i].chengji > max.chengji)
        {
            max = p[i];
        }
    }
    return max;
}

float get_average(Stu *p, int n)
{
    float sum = 0;
    for (int i = 0; i < n; i++)
    {
        sum += p[i].chengji;
    }
    return sum / n;
}

int main()
{ //处理45个学生的信息(批量),定义45个Stu类型的数组
    int i;
    Stu s[3] = {
        {"20201329389", "张三", 90}, {"20201327656", "李四", 88}};

    //读入数组元素s[2]的初始值
    printf("input No3 student infomation:");
    scanf("%s %s %f", s[2].xuehao, s[2].name, &s[2].chengji);

    printf("编号\t 学号 \t\t\t姓名 \t成绩\n");
    //输出s数组中三个学生的信息
    for (i = 0; i < 3; i++)
        printf("学生%d\t %s \t\t%s \t%f\n", i + 1, s[i].xuehao, s[i].name, s[i].chengji);

    //找出最高分,输出最高分学生的基本信息(进阶版:写函数完成该功能)
    Stu max = get_max(s, 3);
    printf("最高分学生信息:\n");
    printf("学号:%s\n姓名:%s\n成绩:%f\n", max.xuehao, max.name, max.chengji);

    //求出所有人的平均成绩 (进阶版:写函数完成该功能)
    float average = get_average(s, 3);
    printf("平均成绩:%f\n", average);

    printf("*\n");
    return 0;
}