解题思路:    编了很久,新手上路。


注意事项:   简单明了!!有问题留言谢谢。


参考代码:

#include <stdio.h>


struct information

{

    char number[20];

    char name[20];

    int core[3];

};


void input(int N,struct information stu[])

{

    int i;

    for(i=0;i<N;i++)

    {

        scanf("%s %s %d %d %d",&stu[i].number,&stu[i].name,&stu[i].core[0],&stu[i].core[1],&stu[i].core[2]);

    }

}


void print(struct information stu[],int N)

{

    int temp[N],max;

    int i,j;

    int p;

    int sum1=0,sum2=0,sum3=0;

    for(i=0;i<N;i++)

    {

        sum1+=stu[i].core[0];

        sum2+=stu[i].core[1];

        sum3+=stu[i].core[2];

    }

    printf("%d %d %d\n",sum1/N,sum2/N,sum3/N);

    for(i=0;i<N;i++)

    {

        temp[i]=stu[i].core[0]+stu[i].core[1]+stu[i].core[2];

    }

    for(i=0;i<N;i++)

    {

        for(j=i+1;j<N;j++)

        {

            if(temp[i]>temp[j])

                {

                    max=temp[i];

                    p=i;

                }

            else

                {

                    max=temp[j];

                    p=j;

                }

            continue;

        }

    }

    printf("%s %s %d %d %d",stu[p].number,stu[p].name,stu[p].core[0],stu[p].core[1],stu[p].core[2]);

}


int main ()

{

    int N;

    scanf("%d",&N);

    struct information student[100];        /*这里我开始写的student[N]是错误的,相当于限制数组的个数,当输入多个数据就不能用了*/

    input(N,student);

    print(student,N); 

    return 0;

}


   

点赞(0)
 

0.0分

4 人评分

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

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

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

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

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

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

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

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

评论列表 共有 0 条评论

暂无评论