我想打印出二维数组每列的平均值。我已经弄清楚如何找到一行中的平均值,但我仍然在努力在一列中做到这一点。
这是我到目前为止所拥有的:
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");
}
最佳答案
我认为更容易的是做另一个来计算列平均值。 喜欢:
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 数组中,最后将得到所有列的总和。
关于c - 如何查找二维数组中列值的平均值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36866877/