用C语言写一个矩阵乘法
时间: 2024-12-17 18:22:14 浏览: 37
在C语言中,我们可以使用二维数组来表示矩阵,并编写函数来实现两个矩阵的乘法。这里是一个简单的矩阵乘法的示例:
```c
#include <stdio.h>
// 定义函数用于计算两个矩阵的乘积
void matrixMultiplication(int a[ROW][COL], int b[ROW][COL], int result[ROW][COL]) {
int i, j, k;
// 确保矩阵可以相乘,a的列数等于b的行数
for (i = 0; i < ROW; i++) {
for (j = 0; j < COL; j++) {
result[i][j] = 0;
for (k = 0; k < COL; k++)
result[i][j] += a[i][k] * b[k][j];
}
}
}
#define ROW 3 // 这里假设矩阵都是3x3的
#define COL 3
int main() {
int a[ROW][COL] = { {1, 2, 3}, {4, 5, 6}, {7, 8, 9} };
int b[ROW][COL] = { {9, 8, 7}, {6, 5, 4}, {3, 2, 1} };
int result[ROW][COL];
matrixMultiplication(a, b, result);
printf("Matrix multiplication result:\n");
for (int i = 0; i < ROW; i++) {
for (int j = 0; j < COL; j++)
printf("%d ", result[i][j]);
printf("\n");
}
return 0;
}
```
这个程序首先定义了两个3x3的矩阵`a`和`b`,然后通过三层嵌套循环计算它们的乘积,并将结果存储在`result`矩阵中。最后,它打印出乘法的结果。
阅读全文