用二维数组打印杨辉三角

/*
* 打印输出杨辉三角
* */
/*      分析:
        创建二维数组存放杨辉三角的内容
        //注意:数组的下标是从0开始的
        如:  a[i][j]==>i控制行数,j控制每行输出的个数,可以理解为列数。
                    1
                    1   1
                    1   2   1
                    1   3   3   1
                    1   4   6   4   1
                    ……
            规律:a[i][0]=1,第一列的全为一。
                  a[i][j]=1,(i=j)时对角线的全为一。例a[0][0],a[1][1]
                  a[i][j]=a[i-1][j-1]+a[i-1][j],当前值为上一行此列和前一列值的和。
                  例:3=1+2   ==>  a[3][1]=a[2][0]+a[2][1];
                      4=1+3   ==>  a[4][1]=a[3][0]+a[3][1];
                      6=3+3   ==>  a[4][2]=a[3][1]+a[3][2];
        */
//实现
public class YangHui {
    public static void main(String[] args){
        int h = 10;                     //给定一个行数
        int[][] a= new int[h][];        //将行数给到数组
        int i,j;
        for (i=0;i<h;i++){
            a[i] = new int[i+1];        //每次循环给每行数组的个数赋值
            for (j=0;j<=i;j++){         //内层循环为每行内容赋值
                if(j==0 || i==j){
                    a[i][j]=1;
                }else{
                    a[i][j]=a[i-1][j-1]+a[i-1][j];
                }
                System.out.print(a[i][j]+"\t");  //打印数组
            }
            System.out.println();
        }
    }
}

猜你喜欢

转载自blog.csdn.net/qq_41541732/article/details/84888835