C实现矩阵转置,例如:输入矩阵A,转置后变为矩阵B
时间: 2024-03-22 21:42:20 浏览: 16
好的,以下是用C语言实现矩阵转置的代码示例:
```c
#include <stdio.h>
#define ROW 3
#define COL 4
void transpose(int a[ROW][COL], int b[COL][ROW]) {
int i, j;
for (i = 0; i < ROW; i++) {
for (j = 0; j < COL; j++) {
b[j][i] = a[i][j];
}
}
}
int main() {
int a[ROW][COL] = {{1, 2, 3, 4},
{5, 6, 7, 8},
{9, 10, 11, 12}};
int b[COL][ROW];
int i, j;
transpose(a, b);
printf("The original matrix:\n");
for (i = 0; i < ROW; i++) {
for (j = 0; j < COL; j++) {
printf("%d ", a[i][j]);
}
printf("\n");
}
printf("\nThe transposed matrix:\n");
for (i = 0; i < COL; i++) {
for (j = 0; j < ROW; j++) {
printf("%d ", b[i][j]);
}
printf("\n");
}
return 0;
}
```
输出结果如下:
```
The original matrix:
1 2 3 4
5 6 7 8
9 10 11 12
The transposed matrix:
1 5 9
2 6 10
3 7 11
4 8 12
```
代码思路:定义一个`transpose`函数,用来实现矩阵转置,然后在`main`函数中定义两个数组`a`和`b`,分别表示原始矩阵和转置后的矩阵。调用`transpose`函数将`a`数组转置到`b`数组中,然后输出原始矩阵和转置后的矩阵。