【C语言】从3x5矩阵计算前三行平均值并扩展到4x5矩阵

时间:2024-11-15 18:40:11

文章目录

  • C语言实现:从3x5矩阵计算前三行平均值并扩展到4x5矩阵
    • 程序概述
    • 代码实现
    • 运行程序


C语言实现:从3x5矩阵计算前三行平均值并扩展到4x5矩阵

在这篇文章中,我们将通过一个简单的C语言程序来演示如何从一个3x5的矩阵中计算前三行的平均值,并将这些平均值添加到一个新的4x5矩阵的最后一行中。这个程序将引导用户输入一个3x5的矩阵,然后自动计算所需的平均值并输出结果矩阵。

程序概述

程序的主要步骤包括:

  1. 用户输入一个3x5的矩阵。
  2. 计算矩阵前三行的平均值。
  3. 将计算得到的平均值存储在一个新的4x5矩阵的最后一行。
  4. 输出扩展后的4x5矩阵。

代码实现

以下是实现上述功能的C语言代码:

#include <stdio.h>

int main() {
    int matrix[3][5]; // 原始3x5矩阵
    int result[4][5]; // 结果4x5矩阵
    float sum, average; // 用于计算和存储平均值

    // 用户输入3x5矩阵
    printf("请输入3x5矩阵的元素:\n");
    for (int i = 0; i < 3; i++) {
        for (int j = 0; j < 5; j++) {
            scanf("%d", &matrix[i][j]);
        }
    }

    // 计算前三行的平均值并存储在结果矩阵的最后一行
    for (int j = 0; j < 5; j++) {
        sum = 0;
        for (int i = 0; i < 3; i++) {
            sum += matrix[i][j];
        }
        average = sum / 3.0; // 使用浮点数进行除法以得到精确的平均值
        result[3][j] = (int)average; // 将平均值转换为整数并存储
    }

    // 将原始矩阵的元素复制到结果矩阵的前三行
    for (int i = 0; i < 3; i++) {
        for (int j = 0; j < 5; j++) {
            result[i][j] = matrix[i][j];
        }
    }

    // 输出4x5矩阵
    printf("得到的4x5矩阵是:\n");
    for (int i = 0; i < 4; i++) {
        for (int j = 0; j < 5; j++) {
            printf("%d ", result[i][j]);
        }
        printf("\n");
    }

    return 0;
}

运行程序

当你运行这个程序时,它会提示你输入一个3x5的矩阵。输入完毕后,程序会自动计算前三行的平均值,并将这些值添加到一个新的4x5矩阵的最后一行。最后,程序会输出这个扩展后的矩阵。
在这里插入图片描述