import java.util.Scanner;
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.println("请输入一个数:");
int count = scan.nextInt();
int[][] a = new int[count][count];
int round = (count >> 1) + 1;
int number = 1;
for(int r=0; r<round; r++)
number = roundFill(a, r, count, count-(r<<1), number);
for(int i=0; i<a.length; i++) {
for(int j=0; j<a[i].length; j++)
System.out.print(a[i][j] + "\t");
System.out.println();
}
}
public static int roundFill(int[][] a, int r, int count, int length, int number) {
for(int i=0; i<length; i++) {
a[r][r+i] = number ++;
}
for(int i=0; i<length-1; i++) {
a[r+1+i][count-r-1] = number ++;
}
for(int i=0; i<length-1; i++) {
a[count-r-1][count-2-i-r] = number ++;
}
for(int i=0; i<length-2; i++) {
a[count-2-i-r][r] = number ++;
}
return number;
}
//数组倒序的不错方法
public void reverseArray(int arr[]) {
for(int i=0, j=arr.length-1; i<j; i++, j--) {
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}