蛇形数组
输入:4
输出:
1 2 3 4
12 13 14 5
11 16 15 6
10 9 8 7
代码:
import java.util.Scanner;
public class Main{
public static void main(String[] args){
Scanner scanner = new Scanner(System.in);
while (scanner.hasNextInt()){
int n = scanner.nextInt();
fun(n);
}
}
private static void fun(int n) {
int[][] arr = new int[n][n];
int num = 0;
int x = 0, y = 0;
while (num<n*n){
while (y<n && arr[x][y]==0){
arr[x][y++] = ++num;
}
x++; y--;
while (x<n && arr[x][y]==0){
arr[x++][y] = ++num;
}
x--; y--;
while (y>=0 && arr[x][y]==0){
arr[x][y--] = ++num;
}
x--; y++;
while (x>0 && arr[x][y]==0){
arr[x--][y] = ++num;
}
x++; y++;
}
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
System.out.print(arr[i][j] + "\t");
}
System.out.println();
}
}
}

浙公网安备 33010602011771号