C语言写一个矩阵乘法
时间: 2024-11-30 22:15:40 浏览: 15
C语言中矩阵乘法代码
在C语言中,我们可以使用二维数组来表示矩阵,并通过嵌套循环实现矩阵乘法。下面是一个简单的例子,展示了如何计算两个整数矩阵的乘积:
```c
#include <stdio.h>
// 定义函数来计算两个矩阵相乘
void matrixMultiplication(int a[ROW][COL], int b[ROW][COL], int result[ROW][COL], int m, int n, int p) {
for (int i = 0; i < m; i++) { // 行循环
for (int j = 0; j < p; j++) { // 列循环
result[i][j] = 0; // 初始化结果矩阵元素为0
for (int k = 0; k < n; k++) { // 对应元素相乘并累加
result[i][j] += a[i][k] * b[k][j];
}
}
}
}
// 主函数
int main() {
const int ROW = 3, COL = 4;
int matrixA[ROW][COL] = {{1, 2, 3, 4},
{5, 6, 7, 8},
{9, 10, 11, 12}};
int matrixB[ROW][COL] = {{13, 14, 15, 16},
{17, 18, 19, 20},
{21, 22, 23, 24}};
int result[ROW][COL]; // 结果矩阵
matrixMultiplication(matrixA, matrixB, result, ROW, COL, ROW);
printf("Matrix A:\n");
for (int i = 0; i < ROW; i++) {
for (int j = 0; j < COL; j++) {
printf("%d ", matrixA[i][j]);
}
printf("\n");
}
printf("\nResult of Matrix Multiplication:\n");
for (int i = 0; i < ROW; i++) {
for (int j = 0; j < COL; j++) {
printf("%d ", result[i][j]);
}
printf("\n");
}
return 0;
}
阅读全文