二重循环加数组问题

来源:百度知道 编辑:UC知道 时间:2024/06/15 08:35:47
main()
{
int i,j,a[][3]={1,2,3,4,5,6,7,8,9};
for(i=0;i<3;i++)
...for(j=i+1;j<3;j++)
...a[j][i]=0;
for(i=0;i<3;j++)
....{
....for(j=0;j<3;j++)
....printf("%d",a[i][j]);
....printf("\n");
....}
}
因为百度不支持首行缩进,所以我用了....,这里有四个FOR循环,要如何下手呢,怎么个循环法,我的头都大了,也不知道做?麻烦高手把解题过程写下来啊,写循环过程哦/

for(i=0;i<3;i++)
...for(j=i+1;j<3;j++)
...a[j][i]=0;
二重循环的过程
第1轮:
i=0,i<3成立
j=1,j<3成立
a[j][i]=a[1][0]=0
j=2,j<3成立
a[j][i]=a[2][0]=0
j=3,j<3不成立

第2轮:
i=1,i<3成立
j=2,j<3成立
a[j][i]=a[2][1]=0
j=3,j<3不成立

第3轮:
i=2,i<3成立
j=3,j<3不成立

所以,原先的数组为:
1,2,3
4,5,6
7,8,9
处理后,a[1][0]=0,a[2][0]=0,a[2][1]=0
处理后为:
1,2,3
0,5,6
0,0,9

for(i=0;i<3;j++)
....{
....for(j=0;j<3;j++)
....printf("%d",a[i][j]);
....printf("\n");
....}
这个二重循环也就是按行输出数组成员了,输出结果为:
123
056
009

main()
{
int i,j,a[][3]={1,2,3,4,5,6,7,8,9};
定义了一个int[3][3],元素初始化成
1 2 3
4 5 6
7 8 9
for(i=0;i<3;i++)
...for(j=i+1;j<3;j++)
...a[j][i]=0;
变成
1 0 0
4 5 0
7 8 9
for(i=0;i<3;j