c语言二维数组转置
时间: 2023-12-20 16:31:06 浏览: 97
以下是C语言中二维数组转置的两种方法:
方法一:使用临时数组
```c
#include <stdio.h>
int main()
{
int arr[3][3] = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};
int temp[3][3];
int i, j;
// 转置
for(i = 0; i < 3; i++)
{
for(j = 0; j < 3; j++)
{
temp[j][i] = arr[i][j];
}
}
// 输出转置后的数组
for(i = 0; i < 3; i++)
{
for(j = 0; j < 3; j++)
{
printf("%d ", temp[i][j]);
}
printf("\n");
}
return 0;
}
```
方法二:不使用临时数组
```c
#include <stdio.h>
int main()
{
int arr[3][3] = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};
int i, j;
// 转置
for(i = 0; i < 3; i++)
{
for(j = i + 1; j < 3; j++)
{
int temp = arr[i][j];
arr[i][j] = arr[j][i];
arr[j][i] = temp;
}
}
// 输出转置后的数组
for(i = 0; i < 3; i++)
{
for(j = 0; j < 3; j++)
{
printf("%d ", arr[i][j]);
}
printf("\n");
}
return 0;
}
```