描述
在n*n方陈里填入1,2,...,n*n,要求填成蛇形。例如n=4时方陈为:
10 11 12 1 9 16 13 2 8 15 14 3 7 6 5 4输入直接输入方陈的维数,即n的值。(n<=100)
- 输出 输出结果是蛇形方陈。 样例输入
3
样例输出
7 8 16 9 25 4 3
测试代码
1 #include2 3 int main() 4 { 5 int n, num = 1; 6 int a[101][101] = { 0}; 7 scanf("%d", &n); 8 int x =0, y = n - 1; 9 a[x][y] = num;10 while(num < n * n)11 {12 while(x + 1 < n && !a[x + 1][y]) //down13 {14 a[++x][y] = ++num;15 }16 while(y - 1 >= 0 && !a[x][y - 1]) //left17 {18 a[x][--y] = ++num;19 }20 while(x - 1 >= 0 && !a[x - 1][y]) //up21 {22 a[--x][y] = ++num;23 }24 while(y + 1 < n && !a[x][y + 1]) //right25 {26 a[x][++y] = ++num;27 }28 }29 for(x = 0; x < n; x++)30 {31 for(y = 0; y < n; y++)32 {33 printf("%d ", a[x][y]);34 }35 printf("\n");36 }37 }