📜  C程序将两个矩阵相乘(1)

📅  最后修改于: 2023-12-03 15:00:13.076000             🧑  作者: Mango

C程序将两个矩阵相乘

简介

矩阵是数学中的基本概念之一,矩阵相乘是矩阵计算中的基本操作之一。C语言可以通过数组来表示矩阵,从而实现矩阵的计算。

程序示例

以下是一个简单的程序示例,用于实现两个3x3的矩阵相乘。

#include <stdio.h>
#define ROW 3
#define COL 3

int main() {
    int m1[ROW][COL] = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};
    int m2[ROW][COL] = {{9, 8, 7}, {6, 5, 4}, {3, 2, 1}};
    int result[ROW][COL];

    // 初始化结果矩阵
    for (int i=0; i<ROW; i++) {
        for (int j=0; j<COL; j++) {
            result[i][j] = 0;
        }
    }

    // 计算矩阵相乘
    for (int i=0; i<ROW; i++) {
        for (int j=0; j<COL; j++) {
            for (int k=0; k<COL; k++) {
                result[i][j] += m1[i][k] * m2[k][j];
            }
        }
    }

    // 打印结果矩阵
    for (int i=0; i<ROW; i++) {
        for (int j=0; j<COL; j++) {
            printf("%d\t", result[i][j]);
        }
        printf("\n");
    }
    return 0;
}
程序说明

该程序首先定义了两个3x3的矩阵m1和m2,然后定义一个结果矩阵result,用于存储矩阵相乘的结果。

程序中使用了三个嵌套的for循环来计算矩阵相乘。外层的for循环遍历矩阵m1和m2的行,内层的for循环遍历矩阵m1和result的列,最内层的for循环遍历矩阵m2和result的行。在循环过程中,通过乘法运算计算出结果矩阵result的每个元素的值。

最后,使用for循环打印结果矩阵。

结束语

通过以上示例,我们可以看到C语言可以很方便地实现矩阵的计算。在实际应用中,我们可能还需要考虑矩阵大小的限制、矩阵相乘的复杂度等问题,但这些问题超出了本文的讨论范围。