只有60分,待完善。。。
import java.util.*;
public class Z字形扫描 {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int n = in.nextInt();
int[][] integer = new int[n][n];
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
integer[i][j] = in.nextInt();
}
}
for (int i = 0; i < n; i++) {// 上半个三角(加上对角线上的)
if (i % 2 == 0) {
for (int j = i; j >= 0; j--) {
System.out.print(integer[j][i - j]+" ");
}
} else {
for (int j = 0; j < i + 1; j++) {
System.out.print(integer[j][i - j]+" ");
}
}
}
if (n % 2 != 0) {//下三角(去除对角线上的)
for (int i = n; i <= 2 * n - 2; i++) {
if (i % 2 != 0) {
for (int j = i - n + 1; j < n; j++) {
System.out.print(integer[j][i - j]+" ");
}
} else {
for (int j = i - n + 1; j < n; j++) {
System.out.print(integer[n - 1][j]+" ");
}
}
}
} else {
for (int i = n; i <=2 * n - 2; i++) {
if (i % 2 == 0) {
for (int j = i - n + 1; j < n; j++) {
System.out.print(integer[i-j][j]+" ");
}
} else {
for (int j = i - n + 1; j < n; j++) {
System.out.print(integer[j][i - j]+" ");
}
}
}
}
}
}