C语言蛇形填数

    xiaoxiao2024-01-23  154

    思路就是:右-》下-》左-》上

    #include<stdio.h> #include<string.h> int a[10][10]; int main() { int i,j, n, num=0; memset(a, 0, sizeof(a)); scanf("%d", &n); num=a[i=0][j=0]=1; while(num < n*n) { while(j<n-1 && !a[i][j+1]) a[i][++j] = ++num; //右 while(i<n-1 && !a[i+1][j]) a[++i][j] = ++num; //下 while(j>=1 && !a[i][j-1]) a[i][--j] = ++num; //左 while(i>=1 && !a[i-1][j]) a[--i][j] = ++num; //上 } for(i=0;i<n;i++){ for(j=0;j<n;j++) printf("= ",a[i][j]); puts(""); } return 0; }
    最新回复(0)