题目:
蛇形矩阵是由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();
}
}