参考代码:

#include<stdio.h>
typedef struct Students{  // 指定用Sd代表struct Students
  char nab[20];   // 学号
  char nam[20];   // 姓名
  float A;        // A课成绩
  float B;        // B课成绩
  float C;        // C课成绩
  float nap;      // 该学生三科平均分
}Sd;

void printSd(Sd std);
int main(){
  int N,i,maxNap=0,maxi;    // N学生个数,maxNap
  float Aap=0,Bap=0,Cap=0;    // A、B、C三科平均分
  scanf("%d", &N);
  Sd s[N];    // 结构体个数
  for(i=0; i<N; i++){         // 为s[N]赋值
    scanf("%s %s %f %f %f", &s[i].nab,&s[i].nam,&s[i].A,&s[i].B,&s[i].C);
    s[i].nap = (s[i].A+s[i].B+s[i].C)/3;      // 计算各科平均分
    Aap += s[i].A;   // 求单科相加总分
    Bap += s[i].B;
    Cap += s[i].C;
  }
  for(i=0; i<N; i++){
    if(s[i].nap >= maxNap){
      maxNap = s[i].nap;    // 求学生中平均数最大的的
      maxi = i;             // 储存最大平均值学生的s[N]为maxi
    }
  }
  printf("%.0f %.0f %.0f\n", Aap/N,Bap/N,Cap/N);  // 输出各科平均分
  printSd(s[maxi]);         // 传入最大平均分的学生的s[N]
}
void printSd(Sd std){
  printf("%s %s %.0f %.0f %.0f\n", std.nab,std.nam,std.A,std.B,std.C);
}


点赞(0)
 

0.0分

0 人评分

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

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

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

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

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

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

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

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

评论列表 共有 0 条评论

暂无评论