复制
收藏
提问
简洁

从键盘上输入一个M×N的二维数组,求该数组各列的平均值,将结果放到一个一维数组中,并输出。

4月前
全网
文档
学术
百科
知识库
时间不限
自动
回答简洁模式
深入研究一些

根据您提供的参考资料,下面是一个C语言程序,用于从键盘输入一个M×N的二维数组,计算并输出该数组各列的平均值,并将结果存储到一个一维数组中。

#include <stdio.h>

int main() {
    int m, n;
    printf("请输入数组的行数和列数:");
    scanf("%d %d", &m, &n);

    int a[m][n]; // 定义一个M×N的二维数组
    int sum[n] = {0}; // 定义一个一维数组,用于存储每列的和
    int count[n] = {0}; // 定义一个一维数组,用于存储每列的元素个数

    printf("请输入二维数组的元素:\n");
    for (int i = 0; i < m; i++) {
        for (int j = 0; j < n; j++) {
            scanf("%d", &a[i][j]);
            sum[j] += a[i][j]; // 累加每列的元素
            count[j]++; // 计数每列的元素个数
        }
    }

    // 计算每列的平均值
    for (int j = 0; j < n; j++) {
        double average = (double)sum[j] / count[j];
        printf("第 %d 列的平均值是:%.2f\n", j + 1, average);
    }

    return 0;
}

这段代码首先通过 scanf 函数读取用户输入的二维数组的行数 m 和列数 n。然后,使用可变长数组(VLA)定义了一个二维数组 a[m][n] 来存储用户输入的元素。同时,定义了两个一维数组 sumcount 分别用于存储每列元素的和以及每列的元素个数。

在输入完二维数组的元素后,程序通过嵌套循环累加每列的元素值到 sum 数组,并同时更新 count 数组记录每列的元素个数。最后,程序计算每列的平均值,并将结果输出到控制台。

请注意,可变长数组(VLA)是C99标准的一部分,如果您使用的编译器不支持C99或更新的标准,您可能需要使用指针或其他方法来创建动态大小的数组。13

你觉得结果怎么样?
二维数组求列平均值的算法
如何从键盘输入二维数组
一维数组存储二维数组列平均值
二维数组列平均值的计算方法
C语言实现二维数组列平均值
二维数组列平均值的存储结构

以上内容由AI搜集生成,仅供参考

在线客服