#include <stdio.h>
int main()
{
int n ;
int a[20][20] ;
printf("输入n的值:") ;
scanf("%d" , &n ) ;
// 初始化
int j = 0 ;
int i = 0 ;
int k = 0 ;
int m = 0 ;
int p = 0 ;
int number = 0 ;
for( i = 0 ; i < n*n ; i++ )
{
for( k = i ; k <= n - i - 2 ; k++ )
{
number++ ;
a[i][k] = number ;
}
for( m = i ; m <= n - i - 2 ; m++ )
{
number++ ;
a[m][n-i-1] = number ;
}
for( j = n - i - 1 ; j >= i + 1 ; j-- )
{
number++ ;
a[n-i-1][j] = number ;
}
for( p = n - i - 1 ; p >= i + 1 ; p-- )
{
number++ ;
a[p][i] = number ;
}
if( n*n == number + 1 )
{
a[n/2][n/2] = number + 1 ;
break ;
}
}
// 按格式输出
for( i = 0 ; i < n ; i++ )
{
for( j = 0 ; j < n ; j++ )
{
printf( "%d " , a[i][j] ) ;
}
printf("\n") ;
}
return 0 ;
}