c - 如何查找二维数组中列值的平均值?

标签 c arrays multidimensional-array

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

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

 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/

相关文章:

multidimensional-array - Common Lisp 中的非矩形数组? (用于教学目的的一般问题。)

c - 如何打印出双向链表(ADT队列)?

java - Hazelcast 的开源替代品?

c - 参数可以是不同结构的函数

linux - bash 打印和递增数组值

c - 初始化二维数组中的 n 个整数

c++ - 如何检测无符号整数溢出?

javascript - 如何在 jQuery 中的每个循环中将数据插入数组中

C编程: How do I insert a number into an array such that each digit of the number goes into each field of the array?

c - 使用多维数组时,使用指向该数组的指针与使用实际数组名称作为指针有什么区别