解题思路:

注意事项:

参考代码:

/*有N个学生,每个学生的数据包括学号、姓名、3门课的成绩,从键盘输入N个学生的数据,要求打印出3门课的总平均成绩,以及最高分的学生的数据(包括学号、姓名、3门课成绩)

输入格式

学生数量N占一行每个学生的学号、姓名、三科成绩占一行,空格分开。

输出格式

各门课的平均成绩 最高分的学生的数据(包括学号、姓名、3门课成绩)

样例输入

2

1 blue 90 80 70

b clan 80 70 60

样例输出

85 75 65

1 blue 90 80 70*/


#include

struct stu

{

    char xh[100];

    char xm[100];

    int cj[3];

}stu1[100];



int input(int n)

{

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

    {

        scanf("%s %s %d %d %d",&stu1[i].xh,stu1[i].xm,&stu1[i].cj[0],&stu1[i].cj[1],&stu1[i].cj[2]);

    }

}



int print(int n)

{   

    int sum,num[100]={0},x[100],jiluhe,jilushu;

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

    {   

        sum=0;

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

        {

        sum=sum+stu1[j].cj[i];

        }

        x[i]=sum/n;

    }

    

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

{

    printf("%d ",x[i]);

}

printf("\n");

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

{  

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

    {

    num[i]+=stu1[i].cj[j];

    }

}

    

jiluhe=num[0];

jilushu=0;    

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

{


    if(num[i]>jiluhe)

    {

        jiluhe=num[i];

        jilushu=i;

    }

}

/*printf("%d %d\n",num[0],num[1]);

printf("%d",jilushu);*/

printf("%s %s %d %d %d\n",stu1[jilushu].xh,stu1[jilushu].xm,stu1[jilushu].cj[0],stu1[jilushu].cj[1],stu1[jilushu].cj[2]);


}

    

int main()

{

    int n;

    scanf("%d",&n);

input(n);


print(n);

return 0;

}


点赞(0)
 

0.0分

1 人评分

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

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

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

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

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

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

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

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

评论列表 共有 0 条评论

暂无评论