用c语言写一个矩阵乘法
时间: 2024-05-10 15:19:39 浏览: 149
下面是一个简单的矩阵乘法的C语言代码示例:
```c
#include <stdio.h>
#define ROW_SIZE 3
#define COL_SIZE 3
void multiply(int mat1[][COL_SIZE], int mat2[][COL_SIZE], int res[][COL_SIZE])
{
int i, j, k;
for (i = 0; i < ROW_SIZE; i++) {
for (j = 0; j < COL_SIZE; j++) {
res[i][j] = 0;
for (k = 0; k < COL_SIZE; k++) {
res[i][j] += mat1[i][k] * mat2[k][j];
}
}
}
}
void printMatrix(int mat[][COL_SIZE])
{
int i, j;
for (i = 0; i < ROW_SIZE; i++) {
for (j = 0; j < COL_SIZE; j++) {
printf("%d ", mat[i][j]);
}
printf("\n");
}
printf("\n");
}
int main()
{
int mat1[ROW_SIZE][COL_SIZE] = {{1, 2, 3},
{4, 5, 6},
{7, 8, 9}};
int mat2[ROW_SIZE][COL_SIZE] = {{10, 11, 12},
{13, 14, 15},
{16, 17, 18}};
int res[ROW_SIZE][COL_SIZE];
multiply(mat1, mat2, res);
printf("Matrix 1:\n");
printMatrix(mat1);
printf("Matrix 2:\n");
printMatrix(mat2);
printf("Result matrix:\n");
printMatrix(res);
return 0;
}
```
这个代码使用了一个multiply函数来计算两个输入矩阵的乘积,然后使用一个printMatrix函数来打印矩阵。在main函数中,我们定义了两个输入矩阵和一个结果矩阵,然后调用multiply函数计算结果,并使用printMatrix函数打印输入和结果矩阵。
阅读全文