蛇形填数

    科技2022-09-05  169

    描述

    在n x n方针里填入1,2,……,nxn,要求填成蛇形。例如,n=4时方阵为:

    10 11 12 1 9 16 13 2 8 15 14 3 7 6 5 4

    实现代码

    #include<stdio.h> #include<string.h> #define maxn 20 int a[maxn][maxn]; int main(){ int n, x, y, tot = 0; scanf("%d", &n); memset(a, 0, sizeof(a)); tot = 1; x = 0; a[0][n-1] = 1; y = n -1; while(tot < n*n){ while(x+1 < n && !a[x+1][y]) a[++x][y] = ++tot;//下 while(y-1>=0 && !a[x][y-1]) a[x][--y] = ++tot;//左 while(x-1>=0 && !a[x-1][y]) a[--x][y] = ++tot;//上 while(y+1<n && !a[x][y+1]) a[x][++y] = ++tot;//右 } //输出 for(x = 0; x < n; x++) { for(y = 0; y < n; y++){ printf("=", a[x][y]); } printf("\n"); } return 0; }
    Processed: 0.012, SQL: 9