題目:
蛇形矩陣是由1開始的自然數依次排列成的一個矩陣上三角形。 例如,當輸入5時,應該輸出的三角形為:
1*3*6*10*15
2*5*9*14
4*8*13
7*12
11
import java.util.Scanner;
public class Main{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
int a = sc.nextInt();//將輸入的字符變為整數
int [][] array = new int[16][16];//建立二維數組
int i=0//數組行索引,j=0//數組列索引,sum=1//從1開始排序,hang=0//按蛇形順序走到最上邊后,用它表示返回的位置;
while (true) {
if(i==0)hang++;//按數排列到最上邊時,hang++。
array[i][j]=sum;//復制
if(j==a-1) break;//當給所有數組賦值后退出
sum=sum+1;//賦值后,sum加1,為了給下一個位置賦值
if(i==0) {j=0;i=hang;}//i=0,按蛇形順序走到頂部,返回下邊。
else{i=i-1;j=j+1;}//如果沒走到頂部就往上走}
for(int i1=0;i1<a;i1++) {
for(int j1=0;j1<a-i1;j1++) {
if(j1==a-i1-1)
System.out.print(array[i1][j1]);//輸出
else { System.out.print(array[i1][j1]+"*");}
}
if(i1!=a-1)System.out.print('\n');}
sc.close();
}
}