编写一个C程序实现M行K列矩阵与K行N列的矩阵的乘积
时间: 2024-05-15 11:19:06 浏览: 14
好的,我可以回答您的问题。下面是一个示例C程序,实现M行K列矩阵和K行N列矩阵的乘积:
```
#include <stdio.h>
#define M 3 // 矩阵A的行数
#define K 4 // 矩阵A的列数,等于矩阵B的行数
#define N 2 // 矩阵B的列数
int main() {
int A[M][K] = {{1, 2, 3, 4}, {5, 6, 7, 8}, {9, 10, 11, 12}}; // 矩阵A
int B[K][N] = {{1, 2}, {3, 4}, {5, 6}, {7, 8}}; // 矩阵B
int C[M][N] = {0}; // 存储矩阵乘积的数组
// 计算矩阵乘积
for (int i = 0; i < M; i++) {
for (int j = 0; j < N; j++) {
for (int k = 0; k < K; k++) {
C[i][j] += A[i][k] * B[k][j];
}
}
}
// 输出结果
for (int i = 0; i < M; i++) {
for (int j = 0; j < N; j++) {
printf("%d ", C[i][j]);
}
printf("\n");
}
return 0;
}
```
在这个程序中,我们首先定义了三个矩阵A、B、C,并初始化了A、B两个矩阵的值,其中A是3行4列的矩阵,B是4行2列的矩阵,C是3行2列的零矩阵,用于存储矩阵乘积的结果。
接下来,我们使用三层循环来遍历矩阵A、B并计算矩阵乘积,并将结果存储在矩阵C中。最后,我们使用循环打印矩阵C中的所有元素,即得到了M行N列矩阵和K行N列矩阵的乘积的结果。
希望这个示例程序可以帮助您理解如何实现矩阵乘积的计算。
相关推荐
![c](https://img-home.csdnimg.cn/images/20210720083646.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)