c语言实现简单的矩阵运算
时间: 2024-04-15 19:22:28 浏览: 203
C语言可以通过多维数组来实现简单的矩阵运算。以下是一个示例代码,实现了两个矩阵的相加和相乘操作:
```c
#include <stdio.h>
#define ROW 3
#define COL 3
// 矩阵相加
void matrixAdd(int mat1[][COL], int mat2[][COL], int result[][COL]) {
for (int i = 0; i < ROW; i++) {
for (int j = 0; j < COL; j++) {
result[i][j] = mat1[i][j] + mat2[i][j];
}
}
}
// 矩阵相乘
void matrixMultiply(int mat1[][COL], int mat2[][COL], int result[][COL]) {
for (int i = 0; i < ROW; i++) {
for (int j = 0; j < COL; j++) {
result[i][j] = 0;
for (int k = 0; k < COL; k++) {
result[i][j] += mat1[i][k] * mat2[k][j];
}
}
}
}
// 打印矩阵
void printMatrix(int mat[][COL]) {
for (int i = 0; i < ROW; i++) {
for (int j = 0; j < COL; j++) {
printf("%d ", mat[i][j]);
}
printf("\n");
}
}
int main() {
int mat1[ROW][COL] = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};
int mat2[ROW][COL] = {{9, 8, 7}, {6, 5, 4}, {3, 2, 1}};
int result[ROW][COL];
printf("矩阵1:\n");
printMatrix(mat1);
printf("矩阵2:\n");
printMatrix(mat2);
matrixAdd(mat1, mat2, result);
printf("矩阵相加结果:\n");
printMatrix(result);
matrixMultiply(mat1, mat2, result);
printf("矩阵相乘结果:\n");
printMatrix(result);
return 0;
}
```
这段代码定义了一个3x3的矩阵,通过`matrixAdd`函数实现了矩阵的相加操作,通过`matrixMultiply`函数实现了矩阵的相乘操作。最后通过`printMatrix`函数打印出结果。
阅读全文