将一个二维数组的行和列的元素互换,存到另一个二维数组中
array a:
1 2 3
4 5 6
array b:
1 4
2 5
3 6
思路:可以定义两个数组,数组a为2列3行,存放指定的6个数,数组b为3行2列,开始时未赋值。只要将a数组中的元素a【i】【j】存放到b数组中的b【j】【i】元素中即可。用嵌套的for循环即可完成
#include<stdio.h>
int 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<2;i++) //取a array的行数 2行
{
for(j=0;j<3;j++) //取a array的列数 3列
{
printf("%5d",a[i][j]); //打印每个字符,长度为5
b[j][i]=a[i][j]; //将其替换成b array相应的字符,这个i,j只是个临时的循环变量,作为数字的临时载体,和下面for循环的i,j没有任何关系。
}
printf("\n"); //打印完一行就换行
}
printf("array b:\n");
for(j=0;j<3;j++) //j值参与运算,循环3次。
{
for(i=0;i<2;i++) //i值参与运算,循环2次
{
printf("%5d",b[j][i]); //b[j][i]里边的数值必须和循环一一对应。
}
printf("\n");
}
return 0;
}
看完了?不懂的评论下方,觉得还阔以的给个?把