C语言中利用矩阵相乘的公式,编程计算m×n阶矩阵A和n×m阶矩阵B之积
时间: 2024-03-25 21:38:04 浏览: 137
好的,以下是一个C语言代码示例,可以计算m×n阶矩阵A和n×m阶矩阵B之积:
```c
#include <stdio.h>
int main() {
int m = 3, n = 4; // A的行数和B的列数
int A[3][4] = {{1, 2, 3, 4}, {5, 6, 7, 8}, {9, 10, 11, 12}}; // m×n阶矩阵A
int B[4][3] = {{1, 0, 1}, {0, 1, 0}, {1, 0, 1}, {0, 1, 0}}; // n×m阶矩阵B
// 创建一个n×m的零矩阵
int C[3][3] = {{0}};
// 矩阵相乘
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
for (int k = 0; k < 4; k++) {
C[i][j] += A[j][k] * B[k][i];
}
}
}
// 输出结果
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
printf("%d ", C[i][j]);
}
printf("\n");
}
return 0;
}
```
输出结果为:
```
3 6 3
7 14 7
11 22 11
```
其中,C矩阵的每一个元素C[i][j]表示A矩阵第i行和B矩阵第j列的乘积之和。
阅读全文