题目要求
5
1 2 3 4 5
16 17 18 19 6
15 24 25 20 7
14 23 22 21 8
13 12 11 10 9
6
1 2 3 4 5 6
20 21 22 23 24 7
19 32 33 34 25 8
18 31 36 35 26 9
17 30 29 28 27 10
16 15 14 13 12 11
package com.java.duncan;
import java.io.BufferedInputStream;
import java.util.Scanner;
public class Matrix {
public static void main(String[] args) {
int i,j,k;
int count;
Scanner cin = new Scanner(new BufferedInputStream(System.in));
while(cin.hasNext()) {
count = 1;
int length = cin.nextInt();
int m[][] = new int[length][length];
for(k = 0; k<=length/2; k++) {
i=k;
j=k;
for(; j < length-k; j++) {
m[i][j] = count++;
}
j--;
for(++i; i<length-k; i++) {
m[i][j] = count++;
}
i--;
for(--j;j>=k;j--) {
m[i][j] = count++;
}
j++;
for(--i; i>k;i--) {
m[i][j] = count++;
}
}
for(i=0;i<length;i++) {
for(j=0;j<length;j++) {
System.out.print(m[i][j] +" ");
}
System.out.println();
}
}
}
}