菜鸟537 2021-12-23 20:12 采纳率: 73.1%
浏览 51
已结题

关于#键盘输入#的问题,如何解决?

(4)有10个学生,每个学生的数据包括学号、姓名、3门课的成绩,从键盘输入10个学生数据,要求打印出3门课的总平均成绩,以及最高分的学生的数据(包括学号、姓名、3门课成绩、平均分数)。(所有人3科的总平均成绩,3门课平均的最高分)码尽量简洁易懂。

  • 写回答

2条回答 默认 最新

  • togolife 2021-12-23 23:47
    关注
    
    #include <stdio.h>
    
    struct Student {
        char xuehao[32];
        char name[128];
        float score1;
        float score2;
        float score3;
    };
    
    int main(void)
    {
        struct Student max; // 保存最高分学生信息
        float score = 0.0; // 保存最高分学生分数
        float total = 0.0; // 所有学生分数
        for (int i = 0; i < 10; ++i) {
            struct Student tmp;
            scanf("%s %s %f %f %f", &tmp.xuehao, &tmp.name, &tmp.score1, &tmp.score2, &tmp.score3);
            // 判断是否最高分
            if (tmp.score1 + tmp.score2 + tmp.score3 - score > 0.000001) {
                score = tmp.score1 + tmp.score2 + tmp.score3;
                max = tmp;
            }
            // 累加总分
            total += tmp.score1 + tmp.score2 + tmp.score3;
        }
        printf("3门课总平均分为: %.2f\n", total / (10 * 3));
        printf("最高分学生信息: 学号[%s], 姓名[%s], 成绩[%.2f, %.2f, %.2f], 平均分数[%.2f]\n", max.xuehao, max.name, max.score1, max.score2, max.score3, score / 3);
        return 0;
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 1月1日
  • 已采纳回答 12月24日
  • 创建了问题 12月23日

悬赏问题

  • ¥15 什么设备可以研究OFDM的60GHz毫米波信道模型
  • ¥15 不知道是该怎么引用多个函数片段
  • ¥15 pip install后修改模块路径,import失败,需要在哪里修改环境变量?
  • ¥15 爬取1-112页所有帖子的标题但是12页后要登录后才能 我使用selenium模拟登录 账号密码输入后 会报错 不知道怎么弄了
  • ¥30 关于用python写支付宝扫码付异步通知收不到的问题
  • ¥50 vue组件中无法正确接收并处理axios请求
  • ¥15 隐藏系统界面pdf的打印、下载按钮
  • ¥15 基于pso参数优化的LightGBM分类模型
  • ¥15 安装Paddleocr时报错无法解决
  • ¥15 python中transformers可以正常下载,但是没有办法使用pipeline