#include <stdio.h>
#define N 8
int main(void)
{
int i,j,n=1,a[N][N];
/* 先从左向右,然后从上到下
for(i=0;i<=N/2;i++)
{
for(j=i;j<N-i;j++)
a[i][j]=n++;
for(j=i+1;j<N-i;j++)
a[j][N-i-1]=n++;
for(j=N-i-2;j>i;j--)
a[N-i-1][j]=n++;
for(j=N-i-1;j>i;j--)
a[j][i]=n++;
}*/
/* 先从上到下,然后从左到右*/
for(j=0; j<=N/2; j++)
{
for(i=j; i<N-j; i++)
a[i][j]=n++;
for(i=j+1; i<N-j; i++)
a[N-j-1][i]=n++;
for(i=N-j-2; i>j; i--)
a[i][N-j-1]=n++;
for(i=N-j-1; i>j; i--)
a[j][i]=n++;
}
for(i=0;i<N;i++)
{
for(j=0;j<N;j++)
printf("%5d",a[i][j]);
printf("\n\n");
}
}
转载于:https://my.oschina.net/saiy/blog/16837