我想打印出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");
}
答案 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数组中,您将在结尾处获得所有列的总和。