【发布时间】:2016-04-26 13:47:41
【问题描述】:
我想打印出二维数组每一列的平均值。我已经想出了如何在一行中找到平均值,但我仍然在努力解决这一问题。
这是我目前所拥有的:
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 循环
-
你期待什么?我认为你的代码是正确的。
-
也许是第一个 nSum 初始化?尽管如此,我会避免在第二个 for 循环中执行 +1。这是一个坏习惯 imo
-
为什么
i的范围是[0..nRow-1] 而j的范围是[0..nCol]?看起来您的循环之一没有正确的范围。 -
为简洁起见,请考虑重写,“我需要一个打印出 2DArray 的平均值和列的代码。”您要求两 (2) 件事:1. 平均值和 2. 列。您所说的“专栏”到底是什么意思?列的平均值?列值?列索引?
标签: c arrays multidimensional-array