用C语言程序编写将一个二维数组行和列互换,存放到另一个二维数组中。并分别输出显示
时间: 2024-05-06 16:18:01 浏览: 22
下面是一个简单的 C 语言程序,可以实现将一个二维数组的行和列互换,并将结果存放到另一个二维数组中。
```c
#include <stdio.h>
#define ROWS 3
#define COLS 4
void transpose(int orig[ROWS][COLS], int trans[COLS][ROWS]);
int main(void)
{
int orig[ROWS][COLS] = {
{1, 2, 3, 4},
{5, 6, 7, 8},
{9, 10, 11, 12}
};
int trans[COLS][ROWS];
transpose(orig, trans);
printf("Original matrix:\n");
for (int i = 0; i < ROWS; i++) {
for (int j = 0; j < COLS; j++) {
printf("%d ", orig[i][j]);
}
printf("\n");
}
printf("\nTransposed matrix:\n");
for (int i = 0; i < COLS; i++) {
for (int j = 0; j < ROWS; j++) {
printf("%d ", trans[i][j]);
}
printf("\n");
}
return 0;
}
void transpose(int orig[ROWS][COLS], int trans[COLS][ROWS])
{
for (int i = 0; i < ROWS; i++) {
for (int j = 0; j < COLS; j++) {
trans[j][i] = orig[i][j];
}
}
}
```
输出结果:
```
Original matrix:
1 2 3 4
5 6 7 8
9 10 11 12
Transposed matrix:
1 5 9
2 6 10
3 7 11
4 8 12
```
该程序中,我们首先定义了一个原始的二维数组 `orig` 和一个转置后的二维数组 `trans`。我们使用 `transpose` 函数来实现矩阵转置的功能。该函数接受两个参数:原始的二维数组 `orig` 和转置后的二维数组 `trans`。在函数内部,我们使用两个嵌套的循环来遍历原始数组,并将其行和列互换后存放到转置数组中。
最后,在主函数中,我们分别输出原始矩阵和转置矩阵的内容。