数组编程问题...

来源:百度知道 编辑:UC知道 时间:2024/05/30 12:49:50
将一个二维数组行和列的元素互换,存到另一个二维数组中。例如:
1 2 3 1 4
a= b=2 5
4 5 6 3 6
我的意思是想请你们帮我翻译一下下面程序每一步执行的意思,我刚学的谢谢大家 。。。
程序如下:
#include<stdio.h>
void 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");
}
}

#include<stdio.h>
void main()
{
int a[2][3]={{1,2,3},{4,5,6}}; //定义并初始化int型的二维数组a
int b[3][2],i,j; //定义int型的2维数组b和2个int变量i,j
printf("array a:\n");
for(i=0;i<=1;i++)
{
for(j=0;j<=2;j++)
{
printf("%5d",a[i][j]); //利用嵌套循环打印二维数组a
b[j][i]=a[i][j]; //利用嵌套循环将二维数组a的每行付给二维数组b的每列
}
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");
}

}

希望能帮你理解到

这好像是某个教材上的程序,关键在于循环的嵌套,是先执行i=0,j=0,再执行语句,j++,判断j<=2,语句,i++再判断i<=1,试试看…