c语言求矩阵a(23)的转置b(32
时间: 2024-03-01 14:52:15 浏览: 83
矩阵的转置是指将矩阵的行列互换得到一个新的矩阵,对于一个 $2\times 3$ 的矩阵 A,其转置矩阵 B 为一个 $3\times 2$ 的矩阵,其中 $B_{i,j} = A_{j,i}$。因此,对于题目中给出的 $2\times 3$ 的矩阵 A,其转置矩阵 B 是一个 $3\times 2$ 的矩阵,其中 $B_{i,j} = A_{j,i}$。以下是C语言代码实现:
```c
#include <stdio.h>
int main() {
int a[2][3] = {{1, 2, 3}, {4, 5, 6}};
int b[3][2];
// 转置矩阵
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 2; j++) {
b[i][j] = a[j][i];
}
}
// 输出原矩阵
printf("The original matrix A:\n");
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 3; j++) {
printf("%d ", a[i][j]);
}
printf("\n");
}
printf("\n");
// 输出转置矩阵
printf("The transpose matrix B:\n");
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 2; j++) {
printf("%d ", b[i][j]);
}
printf("\n");
}
return 0;
}
```
解释:
首先定义一个 $2\times 3$ 的矩阵 A 和一个 $3\times 2$ 的矩阵 B。使用两重循环将矩阵 A 转置得到矩阵 B,其中 $B_{i,j} = A_{j,i}$。外层循环遍历列,内层循环遍历行,将 A 中第 j 行第 i 列的元素赋值给 B 中第 i 行第 j 列的元素。
接下来,使用两重循环分别输出原矩阵 A 和转置矩阵 B。外层循环遍历行,内层循环遍历列,使用`printf`函数输出每个元素的值,并在每行末尾加上换行符`\n`。
最后返回 0,表示程序正常结束。
阅读全文