c语言实现两个矩阵相乘
时间: 2023-11-25 10:05:10 浏览: 94
以下是C语言实现两个矩阵相乘的代码:
```c
#include <stdio.h>
#define ROWS 3
#define COLS 3
void multiply(int mat1[][COLS], int mat2[][COLS], int res[][COLS]) {
int i, j, k;
for (i = 0; i < ROWS; i++) {
for (j = 0; j < COLS; j++) {
res[i][j] = 0;
for (k = 0; k < COLS; k++) {
res[i][j] += mat1[i][k] * mat2[k][j];
}
}
}
}
int main() {
int mat1[ROWS][COLS] = {{1, 2, 3},
{4, 5, 6},
{7, 8, 9}};
int mat2[ROWS][COLS] = {{9, 8, 7},
{6, 5, 4},
{3, 2, 1}};
int res[ROWS][COLS];
int i, j;
multiply(mat1, mat2, res);
printf("Result matrix is: \n");
for (i = 0; i < ROWS; i++) {
for (j = 0; j < COLS; j++) {
printf("%d ", res[i][j]);
}
printf("\n");
}
return 0;
}
```
这个程序定义了两个3x3的矩阵`mat1`和`mat2`,以及一个用于存储结果的3x3矩阵`res`。然后,它调用名为`multiply`的函数来计算两个矩阵的乘积,并将结果存储在`res`中。最后,程序输出结果矩阵。
阅读全文