问题描述
将2行3列的二维数组a中的每个元素行列互换,存到另一个3行2列的数组b中
算法分析:
这是矩阵中的行列转置的问题,关键要弄清两个数组行、列下标之间的对应关系,即数组a的第i行的第j个元素在数组b中是第j行第i列。通过双重循环对数组元素进行可以实现行列转置。
#include <stdio.h>
main()
{ int a[2][3]={{1,2,3},{4,5,6}};
int b[3][2],i,j;
printf("array a:\n");
for(i=0;i<=1;i++)
{ for(j=0;j<=2;j++)
{ printf("%5d",a[i][j]);
b[j][i]=a[i][j];
}
printf("\n");
}
printf("array b:\n");
for(i=0;i<=2;i++)
{ for(j=0;j<=1;j++)
printf("%5d",b[i][j]);
printf("\n");
}
}