下课老师出了这么个题,怎么都想不通,希望大家帮忙
我是刚学习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; }