解题思路:按照题目要求一步一步进行

注意事项:没有使用过多的定义函数,只是使用了结构体,另外需要确认再输入时字符的赋值前面是不是删掉了&(如果明白为什么的请在下方评论,谢谢!)
                                                                                                                                                                         (代码中红色部分)
参考代码:

#include<stdio.h>
typedef struct student{
  char num[100];
  char name[100];
  int grade[3];
}stu[100];
 
int main()
{
 int a;\\定义学生人数
 int sum[a],average[a],number=0,max=0,d;\\定义各步骤输出变量及过程变量
 scanf("%d",&a);
    struct student stu[100];
 for(int i=0;i<a;i++)\\赋值
 {
     scanf("%s %s %d %d %d",stu[i].num,stu[i].name,&stu[i].grade[0],&stu[i].grade[1],&stu[i].grade[2]);
 }
 for(int i=0;i<a;i++)//Sum,计算总值
 {
     sum[i]=stu[i].grade[0]+stu[i].grade[1]+stu[i].grade[2];
 }
 for(int i=0;i<3;i++)//Average,计算各科平均值
 {
     d=0;
     for(int u=0;u<a;u++)
     {
         d=d+stu[u].grade[i];
     }
     average[i]=d/a;
     printf("%d ",average[i]);
 }
 printf("\n");
 for(int i=0;i<a;i++)//Max,判断哪名学生的成绩最优
 {
     if(max<=sum[i])
     {
         max=sum[i];
         number=i;
     }
 }
 printf("%s %s %d %d %d",stu[number].num,stu[number].name,stu[number].grade[0],stu[number].grade[1],stu[number].grade[2]);
}

点赞(0)
 

0.0分

3 人评分

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

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

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

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

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

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

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

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

评论列表 共有 1 条评论

红莲 4年前 回复TA
应该说红色字体部分的原本就是地址?