c语言3*3矩阵乘法怎么编写
时间: 2024-10-24 19:11:34 浏览: 16
在C语言中,计算3x3矩阵乘法通常涉及使用嵌套循环。这里是一个简单的示例,展示了如何通过两个3x3矩阵A和B来进行矩阵乘法:
```c
#include <stdio.h>
// 定义3x3矩阵结构体
typedef struct {
int data[3][3];
} Matrix;
// 计算两个3x3矩阵相乘
Matrix matrix_multiply(Matrix a, Matrix b) {
Matrix result;
for (int i = 0; i < 3; ++i) {
for (int j = 0; j < 3; ++j) {
result.data[i][j] = 0;
for (int k = 0; k < 3; ++k) {
result.data[i][j] += a.data[i][k] * b.data[k][j];
}
}
}
return result;
}
// 打印矩阵
void print_matrix(Matrix m) {
for (int i = 0; i < 3; ++i) {
for (int j = 0; j < 3; ++j) {
printf("%d ", m.data[i][j]);
}
printf("\n");
}
}
int main() {
Matrix A = { {1, 2, 3}, {4, 5, 6}, {7, 8, 9} };
Matrix B = { {9, 8, 7}, {6, 5, 4}, {3, 2, 1} };
// 创建结果矩阵
Matrix C = matrix_multiply(A, B);
// 输出原矩阵和结果矩阵
printf("Matrix A:\n");
print_matrix(A);
printf("Matrix B:\n");
print_matrix(B);
printf("Matrix C (A * B):\n");
print_matrix(C);
return 0;
}
```
在这个例子中,我们首先定义了一个结构体`Matrix`来表示3x3矩阵,并提供了一个函数`matrix_multiply`来实现矩阵乘法。然后创建了两个3x3矩阵并计算它们的乘积。
阅读全文