1.题目:
输入正整数n(n<30),输出1到n蛇形矩阵
例如:
1 2 6 7
3 5 8
4
2.代码展示(复制可直接运行)
public class Y2018T9 {
public static void snakeArr(int n){
int arr[][]=new int[n][n];
int p=1;
//偶数斜线 往上加
//奇数斜线 往下加
int i=0;
int j=0;
int line=0;
while(p<=n){
if(line%2==0){
i=line;
j=0;
while(i>=0&&p<=n){
arr[i--][j++]=p++;
}
line++;
}else {
j=line;
i=0;
while(j>=0&&p<=n){
arr[i++][j--]=p++;
}
line++;
}
}
for(int w=0;w<arr[0].length;w++){
for(int m=0;m<arr.length;m++){
if(arr[w][m]!=0){
System.out.print(arr[w][m]+" ");
}
}
System.out.println("");
}
}
public static void main(String[] args) {
snakeArr(8);
}
}