使用二维数组打印一个10行杨辉三角

/*
1
1       1
1       2       1
1       3       3       1
1       4       6       4       1
1       5       10      10      5       1
......
分析:
    1.第一行有1个元素,第n行有n个元素
    2.每一行的第一个元素和最后一个元素都是1
    3.从第三行开始,对于非第一个元素和最后一个元素的元素
    ins[i][j] = ins[i-1][j]+ins[i-1][j-1];
*/


int ins[][] = new int[10][];
//初始化二维数组
for(int i=0;i<ins.length;i++){
    ins[i] = new int[i+1];
}

//为二维数组的每个元素赋值
for(int i=0; i<ins.length;i++){
    for(int j=0; j<ins[i].length;j++){
        ins[i][0] = ins[i][ins[i].length-1]=1;
        if(i>1&&j>0&&j<i){
            ins[i][j]=ins[i-1][j]+ins[i-1][j-1];
        }
    }
}

//遍历二维数组
for(int i=0;i<ins.length;i++){
    for(int j=0;j<ins[i].length;j++){
        System.out.print(ins[i][j]+"\t");
    }
    System.out.println();
    }        
}

posted @ 2016-12-27 10:50  快乐留给你  阅读(4671)  评论(0编辑  收藏  举报