#include<stdio.h>

int main()
{
	int a[10][10]={0};      //最大矩阵10*10
	int n=9;                //输出9*9 矩阵
    int x,y,tot;
	x=0;
	y=n-1;
	a[x][y]=1;
    tot=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("%3d",a[x][y]);
        printf("\n");
    }
    return 0;
}