m0_74732064 2022-12-26 11:33 采纳率: 100%
浏览 23
已结题

C语言-编程实战练习题

我想要统计每门课程的合格率,但出来的结果不是我需要的,有谁可以指导一下吗?

#include <stdio.h>
#define M 4
#define N 5
// course[m][N]存放该课程的合格率
int main()
{
    float score[M], add[N] = { 0 }, k[M] = { 0 }, t, a[N] = { 0 };
    int i, j;
    for (i = 0; i < N; i++)
    {
        add[i] = 0;
        printf("输入第%d个学生4门课程的成绩\n", i + 1);
        for (j = 0; j < M; j++)
        {
            scanf_s("%f", &score[j]);
            add[i] += score[j];
            k[j] += score[j];
        }
    }
    for (i = 0; i < N; i++)
        printf("第%d个学生总分:%.1f、平均分:%.1f\n", i + 1, add[i], add[i] / M);
    for (j = 0; j<M; j++)
        for (i = 0; i<M - j; i++)
            if (add[i]<add[i + 1])
            { 
                t = add[i]; add[i] = add[i + 1]; add[i + 1] = t; 
            }
    for (i = 0; i<N; i++)
        printf("第%d名的平均分数为%.2f\n", i + 1, add[i] / M);

    for (i = 0; i < M; i++)
        printf("第%d门课的平均成绩:%.1f\n", i + 1, k[i] / N);
        float course[4][N + 2] = { 0 };
        //依次处理4门课程 
        for (i = 0; i < N; i++) {
            int passed = 0;
            for (j = 0; j < M; j++) {
                if ( score[j]>= 60) 
                {
                    passed++;
                }
                course[i][N] = 100 * passed / N;
            }
        }
        for (i = 0; i < 4; i++) {
            printf("%d: Passed=%.2f\n", i + 1, course[i][N]);
        }
}

```

  • 写回答

2条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2022-12-26 14:10
    关注
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

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

悬赏问题

  • ¥15 怎样才能让鼠标沿着线条的中心线轨迹移动
  • ¥60 用visual studio编写程序,利用间接平差求解水准网
  • ¥15 Llama如何调用shell或者Python
  • ¥20 谁能帮我挨个解读这个php语言编的代码什么意思?
  • ¥15 win10权限管理,限制普通用户使用删除功能
  • ¥15 minnio内存占用过大,内存没被回收(Windows环境)
  • ¥65 抖音咸鱼付款链接转码支付宝
  • ¥15 ubuntu22.04上安装ursim-3.15.8.106339遇到的问题
  • ¥15 blast算法(相关搜索:数据库)
  • ¥15 请问有人会紧聚焦相关的matlab知识嘛?