写出用C语言写出矩阵相乘代码
时间: 2024-05-14 19:19:30 浏览: 120
当然,下面是矩阵相乘的 C 语言代码:
```c
#include <stdio.h>
void matrixMultiply(int A[][3], int B[][2], int C[][2], int m, int n, int p) {
int i, j, k;
for (i = 0; i < m; i++) {
for (j = 0; j < p; j++) {
C[i][j] = 0;
for (k = 0; k < n; k++) {
C[i][j] += A[i][k] * B[k][j];
}
}
}
}
int main() {
int A[2][3] = {{1, 2, 3}, {4, 5, 6}};
int B[3][2] = {{1, 2}, {3, 4}, {5, 6}};
int C[2][2];
int m = 2, n = 3, p = 2, i, j;
// 矩阵相乘
matrixMultiply(A, B, C, m, n, p);
// 输出结果
for (i = 0; i < m; i++) {
for (j = 0; j < p; j++) {
printf("%d ", C[i][j]);
}
printf("\n");
}
return 0;
}
```
其中,`matrixMultiply` 函数接收三个矩阵 A、B 和 C,以及三个整数 m、n、p,代表 A 矩阵的行数、B 矩阵的列数和 C 矩阵的列数。函数通过三重循环计算出 C 矩阵中的每个元素,最后返回 C 矩阵。在 `main` 函数中,我们定义了两个矩阵 A 和 B,分别是 2 行 3 列和 3 行 2 列,然后调用 `matrixMultiply` 函数计算矩阵相乘的结果 C,最后输出 C 矩阵。
阅读全文