m0_74067957 2023-04-06 14:38 采纳率: 100%
浏览 34
已结题

关于#结构体#的问题,如何解决?

学生的记录由学号、3门课程成绩和平均分组成,根据班级人数,将学生记录存放在结构体数组中。请编程实现计算该班每个学生的3门成绩平均分放到结构体数组的平均分成员中,输出所有学生的完整记录,并找出排名第一(可能存在并列第一)的学生。要求:班级人数、学生记录均由键盘输入。要用Microsoft visualC++2010运行。

  • 写回答

3条回答 默认 最新

  • qzjhjxj 2023-04-06 21:35
    关注

    这么改,供参考:

    #include <stdio.h>
    #define MAX_STUDENTS 100
    struct student {
      int id;
      int score[3];
      float avg_score;
    };
    int main()
    {
      int n,i;
      float max;
      struct student students[MAX_STUDENTS];
    
      printf("请输入人数:");
      scanf("%d", &n);
      for (i = 0; i < n; i++)
      {
        printf("请输入学号:");
        scanf("%d", &students[i].id);
        printf("请输入3门成绩:");
        scanf("%d %d %d", &students[i].score[0], &students[i].score[1], &students[i].score[2]);
        students[i].avg_score = (students[i].score[0] + students[i].score[1] + students[i].score[2]) / 3.0;
      }
    
      printf("输出所有学生记录:\n");
      for (i = 0, max = students[i].avg_score; i < n; i++) {
          if (i == 0)
               printf("学号 成绩1 成绩2 成绩3 平均分\n");
          printf("%d    %d    %d    %d    %.2f\n", students[i].id,students[i].score[0],
                       students[i].score[1], students[i].score[2],students[i].avg_score);
          if (students[i].avg_score > max)  max = students[i].avg_score;  //找到最高分
      }
      printf("平均分最高学生:\n学号 成绩1 成绩2 成绩3 平均分\n");
      for (i = 0; i < n; i++) {
         if (students[i].avg_score == max)
             printf("%d    %d    %d    %d     %.2f\n",students[i].id,students[i].score[0],
                           students[i].score[1],students[i].score[2],students[i].avg_score);
      }
      return 0;
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 4月17日
  • 已采纳回答 4月9日
  • 修改了问题 4月6日
  • 修改了问题 4月6日
  • 展开全部

悬赏问题

  • ¥15 我想咨询一下路面纹理三维点云数据处理的一些问题,上传的坐标文件里是怎么对无序点进行编号的,以及xy坐标在处理的时候是进行整体模型分片处理的吗
  • ¥15 CSAPPattacklab
  • ¥15 一直显示正在等待HID—ISP
  • ¥15 Python turtle 画图
  • ¥15 关于大棚监测的pcb板设计
  • ¥15 stm32开发clion时遇到的编译问题
  • ¥15 lna设计 源简并电感型共源放大器
  • ¥15 如何用Labview在myRIO上做LCD显示?(语言-开发语言)
  • ¥15 Vue3地图和异步函数使用
  • ¥15 C++ yoloV5改写遇到的问题