关于蛇形填数

蛇形填数的核心就是转向,

while(x+1<n&&!a[x+1][y])  a[++x][y]==++count;

每一个方向,都有临界转向范围即x+1<n  和下一个数组内是否有数值。

类似的,矩形环绕和三角环绕,

  1. #include <stdio.h>  
  2. main()  
  3. {  
  4.     int n,a[10][10]={0},i=1,j,x=1,y=0,t,c=1;  
  5.     a[0][0]=1;  
  6.     scanf("%d",&n);
  7.     while (i<n)       
  8.     {  
  9.         x=i;y=0;  
  10.         while (y<i||y==i)    
  11.         {  
  12.             a[x--][y++]=++c;  
  13.         }  
  14.         i++;  
  15.     }  
  16.     for (i=0;i<n;i++)  
  17.     {  
  18.         for(j=0;j<n-i;j++)  
  19.             printf("%5d",a[i][j]);  
  20.         printf("\n");  
  21.     }  
  22. }  

猜你喜欢

转载自blog.csdn.net/lutowhite/article/details/80156743