C语言,将一个二维数组a的行和列的元素互换,存到另一个二维数组b中。列如 123 1 4 2 5 456 3 6

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");
}
array a array b是什么意思 还用重点的是把每句FOR循环后面的都详细解释一下,特别是这个b[j][i]=a[i][j]怎么来的,为什么要怎么换。记住把每句for循环都解释哈 谢谢

看来你是个超级小菜鸟啊,解析注上了,慢慢学习吧
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++) //外循环i遍历a数组的i行
{
for(j=0;j<=2;j++) //内循环j是在i行遍历该行所有的数组元素
{
printf("%5d",a[i][j]);
b[j][i]=a[i][j]; //这个就是进行行列转换的关键语句 如 b[2][1]=a[1][2]
}
printf("\n");
}
printf("array b:\n"); //这个也是
for(i=0;i<=2;i++)
{
for(j=0;j<=1;j++)
printf("%5d",b[i][j]); //输出转换后b数组的结果
printf("\n");
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-12-31
array a array b是表示数组a 数组b
第一个for循环是将a数组里的数据倒置后放入b数组 就是这句 b[j][i]=a[i][j]
i表示行下标 j表示列下标 (你吧二维数组的图画出来就懂了)
第二个for循环是将b数组打印出来
第2个回答  2019-12-05
你用神鞭编程来进行,求解
相似回答