蛇形方阵是由1--n的平方组成的方阵,例如4阶蛇形方阵
1 2 3 4
8 7 6 5
9 10 11 12
16 15 14 13
#include "stdio.h"
#include "conio.h"
main()
{ int a[15][15]={0};
int i,j,n=0,count;
while(n<1 || n>15)
{ printf("请输入蛇形方阵的阶数(<16): ");
scanf("%d",&n);
}
i=0;j=-1;
for (count=1;count<=n*n;)
{ while (j<n-1 && a[i][j+1]==0) a[i][++j]=count++;
if (i<n-1 && a[i+1][j]==0) a[++i][j]=count++;
while (j>0 && a[i][j-1]==0) a[i][--j]=count++;
if (i>0 && a[i-1][j]==0) a[--i][j]=count++;
}
for (i=0;i<n;i++)
{ for (j=0;j<n;j++)
printf("%5d",a[i][j]);
printf("\n");
}
}
1 2 3 4
8 7 6 5
9 10 11 12
16 15 14 13
#include "stdio.h"
#include "conio.h"
main()
{ int a[15][15]={0};
int i,j,n=0,count;
while(n<1 || n>15)
{ printf("请输入蛇形方阵的阶数(<16): ");
scanf("%d",&n);
}
i=0;j=-1;
for (count=1;count<=n*n;)
{ while (j<n-1 && a[i][j+1]==0) a[i][++j]=count++;
if (i<n-1 && a[i+1][j]==0) a[++i][j]=count++;
while (j>0 && a[i][j-1]==0) a[i][--j]=count++;
if (i>0 && a[i-1][j]==0) a[--i][j]=count++;
}
for (i=0;i<n;i++)
{ for (j=0;j<n;j++)
printf("%5d",a[i][j]);
printf("\n");
}
}