如何在2D数组中找到列值的平均值?

时间:2016-04-26 13:47:42

标签: c arrays multidimensional-array

我想打印出2D数组每列中的平均值。我已经找到了如何找到一行中的平均值,但我仍然在努力做到这一点。

这是我到目前为止所拥有的:

 for ( i=0; i<nRow; ++i)
    {
        for( j=0; j<nCol+1; ++j)
        {
            if (j == nCol)
            {
                nAve = (float)nSum/nCol;
                printf("=%.1f", nAve);
            }
            else
            {
                printf("%d\t", aArray[i][j]);
                nSum += aArray[i][j];
            }
        }

        nSum = 0;
        printf("\n");
    }

1 个答案:

答案 0 :(得分:0)

我认为更容易做另一个来计算列平均值。 喜欢:

for ( j=0; j<nCol+1; ++j)
    {
        for( i=0; i<nRow+1; ++i)
        {
        }
    }

如果你想用一个来做,你应该创建一个数组来保持并增加所有列的总数。

float sumColumn[nCol];

for ( i=0; i<nRow; ++i)
    {
        for( j=0; j<nCol+1; ++j)
        {
            if (j == nCol)
            {
                nAve = (float)nSum/nCol;
                printf("=%.1f", nAve);
            }
            else
            {
                printf("%d\t", aArray[i][j]);
                nSum += aArray[i][j];
                sumColumn[j] += aArray[i][j];
            }
        }

        nSum = 0;
        printf("\n");
    }

在sumColumn数组中,您将在结尾处获得所有列的总和。