行列互换(二维数组)
将行和列互相交换
#include <stdio.h>
#include <stdlib.h>
#define M 2
#define N 3
static void change(void)
{
int i,j;
int a[M][N] = {1,2,3,4,5,6}; //原始的数组
int b[N][M]; //存储交换后的数组
for(i=0;i<M;i++) //遍历每一行
{
for(j=0;j<N;j++) // 在i<M的范围内 遍历每一列
{
printf("%d ",a[i][j]);
b[j][i]=a[i][j]; //这是转换最重要的步骤,将列变成行 行变成列
}
printf("\n"); //这是每一行的结束之后换行
}
for(i=0;i<N;i++) //遍历b的数组
{
for(j=0;j<M;j++)
{
printf("%d ",b[j][i]);
}
printf("\n");
}
}
int main()
{
change();
return 0;
}