将a 数组进行矩阵转置到b中并输出(以矩阵方式:5 行 4 c语言
时间: 2024-03-22 09:42:24 浏览: 97
好的,以下是将a数组进行矩阵转置到b中并输出的代码(C语言):
```c
#include <stdio.h>
void transpose(int a[][4], int b[][5]) {
int i, j;
for (i = 0; i < 5; i++) {
for (j = 0; j < 4; j++) {
b[j][i] = a[i][j];
}
}
}
int main() {
int a[5][4] = {{1, 2, 3, 4},
{5, 6, 7, 8},
{9, 10, 11, 12},
{13, 14, 15, 16},
{17, 18, 19, 20}};
int b[4][5]; // 定义转置后的矩阵
int i, j;
transpose(a, b);
// 输出转置后的矩阵b
for (i = 0; i < 4; i++) {
for (j = 0; j < 5; j++) {
printf("%d\t", b[i][j]);
}
printf("\n");
}
return 0;
}
```
输出结果如下:
```
1 5 9 13 17
2 6 10 14 18
3 7 11 15 19
4 8 12 16 20
```
代码思路:定义一个`transpose`函数,用来实现矩阵转置,然后在`main`函数中定义两个数组`a`和`b`,分别表示原始矩阵和转置后的矩阵。调用`transpose`函数将`a`数组转置到`b`数组中,然后输出转置后的矩阵。需要注意的是,在函数参数中,第二维的大小可以不指定,这样就可以使用不同大小的二维数组作为参数进行转置操作。
阅读全文