下课老师出了这么个题,怎么都想不通,希望大家帮忙
我是刚学习C语言不久,学习循环的时候,老师最后留这么个问题让大家想,就是在屏幕上输出这个东西 :“ 1 2 3 4 ”12 13 14 5
11 16 15 6
10 9 8 7
我就感觉直接用输出把他们写出来最方便了,但是要循环就不知道了,这个就发蒙了。大家有什么好方法呢?


程序代码:#define MAX 4
int main(void)
{
int x=1,n=MAX,m,k,i,j,a[MAX][MAX];
j=m=-1;i=k=0;
while(1)
{
for(m=0;m<n;m++)a[i][j+=x]=++k;
if(!--n)break;
for(m=0;m<n;m++)a[i+=x][j]=++k;
x*=-1;
}
for(i=0;i<MAX;i++)
{
for(j=0;j<MAX;j++)
printf("%5d",a[i][j]);
printf("\n\n\n");
}
return 0;
}

