c语言矩阵相乘可以使用双重循环来实现。以下是一个简单的示例,其中matrixA和matrixB是两个二维数组,表示输入的两个矩阵,matrixC是用于存储结果的二维数组。
c#include <stdio.h>
#define ROWS_A 3
#define COLS_A 4
#define ROWS_B 4
#define COLS_B 5
#define ROWS_C 3
#define COLS_C 5
void matrixMultiply(int matrixA[ROWS_A][COLS_A], int matrixB[ROWS_B][COLS_B], int matrixC[ROWS_C][COLS_C]) {
    int i, j, k;
    for (i = 0; i < ROWS_C; i++) {
        for (j = 0; j < COLS_C; j++) {
            matrixC[i][j] = 0;
            for (k = 0; k < COLS_A; k++) {
                matrixC[i][j] += matrixA[i][k] * matrixB[k][j];
            }
        }
    }
}
int main() {
    int matrixA[ROWS_A][COLS_A] = {{1, 2, 3, 4}, {5, 6, 7, 8}, {9, 10, 11, 12}};
    int matrixB[ROWS_B][COLS_B] = {{13, 14, 怎么定义二维数组c语言15, 16, 17}, {18, 19, 20, 21, 22}, {23, 24, 25, 26, 27}, {28, 29, 30, 31, 32}};
    int matrixC[ROWS_C][COLS_C] = {0};
    matrixMultiply(matrixA, matrixB, matrixC);
    int i, j;
    for (i = 0; i < ROWS_C; i++) {
        for (j = 0; j < COLS_C; j++) {
            printf("%d ", matrixC[i][j]);
        }
        printf("\n");
    }
    return 0;
}
在上面的示例中,我们定义了三个宏常量ROWS_A、COLS_A、ROWS_B、COLS_B、ROWS_C和COLS_C,分别表示矩阵A、矩阵B和矩阵C的行数和列数。然后我们定义了一个名为matrixMultiply的函数,该函数接受三个二维数组作为参数,用于计算矩阵A和矩阵B的乘积,并将结果存储在矩阵C中。最后,在主函数中,我们定义了三个二维数组matrixA、matrixB和matrixC,并调用matrixMultiply函数来计算矩阵乘积。最后,我们使用双重循环打印出结果矩阵。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。