解题思路:通过结构体数组 并设置每科成绩的寄存变量累加求得平均值 

设置max在循环中选取最大值 再在后面的循环中以max的值为依据确定数组的具体位置

注意事项:多组实验数据会联动  设置寄存变量将他们穿起来(运用累加等)

参考代码:

#include<stdio.h>

typedef struct student

{

    char number[100];

    char name[100];

    int grade1;

    int grade2;

    int grade3;

}stu;

int main()

{

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

    scanf("%d",&N);

    stu a[N];

    int sum[N];  //存放每个学生的总分

    for(int i=0;i<N;i++) //此题计算要利用多次输入的值 所以不能往常写法

    {

        scanf("%s %s %d %d %d",a[i].number,a[i].name,&a[i].grade1,&a[i].grade2,&a[i].grade3);

        sum1+=a[i].grade1;

        sum2+=a[i].grade2;

        sum3+=a[i].grade3;

        sum[i]=a[i].grade1+a[i].grade2,a[i].grade3;

        if(sum[i]>max)

            max=sum[i];

    }

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

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

    {

        if(max==sum[i])

            printf("%s %s %d %d %d\n",a[i].number,a[i].name,a[i].grade1,a[i].grade2,a[i].grade3);

    }

    return 0;

}


点赞(0)
 

0.0分

0 人评分

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

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

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

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

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

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

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

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

评论列表 共有 0 条评论

暂无评论