c 语言 用二维数组进行矩阵运算。给定矩阵 A=[[3,1,1],[2,1,2],[1,2,3]], B=[[1,1,-1],[2,-1,0],[1, 0,1]],计算 A+B, AB, BA, A 的转置以及 A 的迹。
时间: 2024-06-12 09:10:48 浏览: 5
好的,让我来帮你解答这个问题。
首先,我们需要定义这两个矩阵 A 和 B,可以使用二维数组来表示:
```c
int A[3][3] = {{3, 1, 1}, {2, 1, 2}, {1, 2, 3}};
int B[3][3] = {{1, 1, -1}, {2, -1, 0}, {1, 0, 1}};
```
接下来,我们可以按照矩阵加法、矩阵乘法、转置和迹的定义来计算:
```c
// 矩阵加法
int C[3][3];
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
C[i][j] = A[i][j] + B[i][j];
}
}
// 矩阵乘法 AB
int D[3][3];
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
D[i][j] = 0;
for (int k = 0; k < 3; k++) {
D[i][j] += A[i][k] * B[k][j];
}
}
}
// 矩阵乘法 BA
int E[3][3];
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
E[i][j] = 0;
for (int k = 0; k < 3; k++) {
E[i][j] += B[i][k] * A[k][j];
}
}
}
// 矩阵转置
int F[3][3];
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
F[i][j] = A[j][i];
}
}
// 矩阵迹
int trace = 0;
for (int i = 0; i < 3; i++) {
trace += A[i][i];
}
```
最后,我们可以输出结果:
```c
// 输出矩阵加法结果
printf("A + B =\n");
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
printf("%d ", C[i][j]);
}
printf("\n");
}
printf("\n");
// 输出矩阵乘法 AB 结果
printf("A * B =\n");
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
printf("%d ", D[i][j]);
}
printf("\n");
}
printf("\n");
// 输出矩阵乘法 BA 结果
printf("B * A =\n");
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
printf("%d ", E[i][j]);
}
printf("\n");
}
printf("\n");
// 输出矩阵转置结果
printf("A 的转置 =\n");
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
printf("%d ", F[i][j]);
}
printf("\n");
}
printf("\n");
// 输出矩阵迹结果
printf("A 的迹 = %d\n", trace);
```
输出结果为:
```
A + B =
4 2 0
4 0 2
2 2 4
A * B =
6 0 2
7 -1 1
8 -1 5
B * A =
4 3 4
1 0 1
4 3 6
A 的转置 =
3 2 1
1 1 2
1 2 3
A 的迹 = 7
```
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)