解题思路:

注意事项:

参考代码:

include<stdio.h>


typedef struct Student

{

    char ID[100];

    char name[100];

    int score[3];

}student;


int times=0;  

int x=0;


void input(student stu[],int times);

void average(student stu[],int times);

int big_number(student stu[],int times);

void print(student stu[],int x);


int main()

{

    student stu[100];

    scanf("%d",&times);

    input(stu,times);

    average(stu,times);

   x=big_number(stu,times);

   print(stu,x);

    

}


void input(student stu[],int times)  //键盘输入函数

{

    for(int i=0;i<times;i++)

    {

        scanf("%s %s %d %d %d",

        stu[i].ID,

        stu[i].name,

        &stu[i].score[0],

        &stu[i].score[1],

        &stu[i].score[2]);

    }

    

}


void average(student stu[],int times)  //求平均数函数

{

    int average_0=0,average_1=0,average_2=0;

    for(int i=0;i<times;i++)

    {

        average_0+=stu[i].score[0];

        average_1+=stu[i].score[1];

        average_2+=stu[i].score[2];

    }

    printf("%d %d %d\n",(average_0/times),(average_1/times),(average_2/times));

}


int big_number(student stu[],int times)   //计算总数并比较最大值和确认要输出的书生

{

    int sum[100];

    for(int i=0;i<times;i++)

    {

        for(int j=0;j<3;j++)

        {

            sum[i]+=stu[i].score[j];

        }

    }

    int big=0,num=0;

    for(int z=0;z<times;z++)

    {

        if(sum[z]>big)

        {

            big=sum[z];

            num=z;

        }

    }

    return num;

}


void print(student stu[],int x)   //打印要输出的学生信息

{

    printf("%s %s %d %d %d",

     stu[x].ID,

     stu[x].name,

     stu[x].score[0],

     stu[x].score[1],

     stu[x].score[2]);

}


点赞(0)
 

0.0分

0 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 0 条评论

暂无评论