努力学习的理生 2023-02-28 19:46 采纳率: 50%
浏览 28
已结题

C语言求3个学生的4门课程总分和平均数

img

img


我在第一层的循环开头给sum初始化了,为什么在第二轮的循环出现错误了
实在想不通啊T^T

  • 写回答

4条回答 默认 最新

  • Huazie 全栈领域优质创作者 2023-02-28 19:54
    关注
    • 数组 a[3][4] 当 i = 3 或 j = 4, 这里 造成了二维数组的越界访问,会有各种意外输出情况
    • 修改如下【索引从0开始访问】
    #include <stdio.h>
    #define M 3
    #define N 4
    int main()
    {
        int a[M][N];
        float sum[M], ave[M];
        int i, j;
        for (i = 0; i < M; i++) // 索引 从 0开始
        {
            sum[i] = 0;
            for (j = 0; j < N; j++) // 索引 从 0开始
            {
                scanf("%d", &a[i][j]);
                sum[i] = sum[i] + a[i][j];
            }
            ave[i] = sum[i] / 4;
            printf("sum[%d]=%-5.2f,p=%-5.2f\n",i, sum[i], ave[i]);
        }
        return 0;
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 3月10日
  • 已采纳回答 3月2日
  • 创建了问题 2月28日