😭真的不会!马上要交了!#C语言#数组矩阵乘法

请设计一个程序:利用二维数组来表示矩阵,实现一个3x4矩阵 A 与4x2矩阵 B 相乘,并把结果存放在一个3x2的矩阵 C 中。矩阵 A 、 B 的初始化由用户进行输入。

ChatGPT尝试为您解答,仅供参考

#include <stdio.h>

#define ROW_A 3
#define COL_A 4
#define COL_B 2

int main(void) {
    int A[ROW_A][COL_A];  // 定义 3x4 矩阵 A
    int B[COL_A][COL_B];  // 定义 4x2 矩阵 B
    int C[ROW_A][COL_B];  // 定义 3x2 矩阵 C

    // 输入矩阵 A 的值
    printf("Enter the values for matrix A (%dx%d):\n", ROW_A, COL_A);
    for (int i = 0; i < ROW_A; i++) {
        for (int j = 0; j < COL_A; j++) {
            scanf("%d", &A[i][j]);
        }
    }

    // 输入矩阵 B 的值
    printf("Enter the values for matrix B (%dx%d):\n", COL_A, COL_B);
    for (int i = 0; i < COL_A; i++) {
        for (int j = 0; j < COL_B; j++) {
            scanf("%d", &B[i][j]);
        }
    }
    
    // 计算矩阵乘法
    for (int i = 0; i < ROW_A; i++) {
        for (int j = 0; j < COL_B; j++) {
            C[i][j] = 0;
            for (int k = 0; k < COL_A; k++) {
                C[i][j] += A[i][k] * B[k][j];
            }
        }
    }

    // 输出结果
    printf("Result:\n");
    for (int i = 0; i < ROW_A; i++) {
        for (int j = 0; j < COL_B; j++) {
            printf("%d ", C[i][j]);
        }
        printf("\n");
    }

    return 0;
}

在这个程序中,我们首先定义了 3x4 的矩阵 A、4x2 的矩阵 B 和 3x2 的矩阵 C,然后读入矩阵 A 和 B 的值。接下来,我们使用三重循环来计算矩阵乘法,最后输出。