C语言如何实现两个矩阵的相乘
时间: 2024-09-26 18:12:36 浏览: 67
矩阵相乘矩阵相乘的编源程序
5星 · 资源好评率100%
在C语言中,矩阵相乘通常是通过嵌套循环来实现的,因为矩阵乘法遵循特定规则,即结果矩阵的行对应于第一个矩阵的列,而第二个矩阵的行对应于结果矩阵的行。这里是一个简单的示例,展示如何手动计算两个二维数组(矩阵)的相乘:
```c
#include <stdio.h>
// 定义函数用于计算两个矩阵相乘
void matrix_multiply(int a[rows][cols], int b[cols][n], int result[rows][n]) {
for (int i = 0; i < rows; i++) { // 遍历结果矩阵的第一维
for (int j = 0; j < n; j++) { // 遍历结果矩阵的第二维
result[i][j] = 0;
for (int k = 0; k < cols; k++) { // 遍历第一个矩阵的列数,也就是第二个矩阵的行数
result[i][j] += a[i][k] * b[k][j]; // 相乘并累加到结果矩阵的相应位置
}
}
}
}
int main() {
int a[3][2] = {{1, 2}, {3, 4}, {5, 6}}; // 第一个矩阵
int b[2][3] = {{7, 8, 9}, {10, 11, 12}}; // 第二个矩阵
int c[3][3]; // 结果矩阵
// 调用函数计算乘积
matrix_multiply(a, b, c);
// 打印结果矩阵
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
printf("%d ", c[i][j]);
}
printf("\n");
}
return 0;
}
```
阅读全文