标签:
描述
在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 1 6 9 2 5 4 3
测试代码
1 #include <stdio.h> 2 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]) //down 13 { 14 a[++x][y] = ++num; 15 } 16 while(y - 1 >= 0 && !a[x][y - 1]) //left 17 { 18 a[x][--y] = ++num; 19 } 20 while(x - 1 >= 0 && !a[x - 1][y]) //up 21 { 22 a[--x][y] = ++num; 23 } 24 while(y + 1 < n && !a[x][y + 1]) //right 25 { 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 }
标签:
原文地址:http://www.cnblogs.com/maxin/p/5480634.html