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

Posted yangbocsu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用二维数组打印一个10行杨辉三角相关的知识,希望对你有一定的参考价值。

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

从第3行起,除了首尾都是1外,其他位置的关系:arr[i][j] = arr[i-1][j] + arr[i-1][j-1] 
package com.yangbocsu.yanghuisanjiao;

import java.util.Arrays;

public class yanghui {
    public static void main(String[] args) {
        int[][] arr = new int[10][10];
        arr[0][0] = 1;
        arr[1][0] =1;
        arr[1][1] = 1;
        for (int i = 2; i < arr.length; i++)   //从第3行开始处理
        {
            for (int j = 0; j < arr[i].length; j++)
            {
                if (j==0 || j==i) //先处理每行的 首尾位 为1;
                {
                    arr[i][j] = 1;
                }
                else            //中间元素
                {
                    arr[i][j] = arr[i-1][j] +arr[i-1][j-1];
                }
            }
        }
        //输出
        for (int i = 0; i < arr.length; i++)
        {
            for (int j = 0; j<arr[i].length; j++)
            {
                if (arr[i][j] == 0)  //为0的元素不输出
                {
                    System.out.println("");
                    break;
                }
                else
                {
                    System.out.print(arr[i][j]+"\\t");
                }

            }
        }

    }
}

【升级版】

package com.yangbocsu.yanghuisanjiao;

import java.util.Arrays;

public class yanghui {
    public static void main(String[] args) {
        int[][] arr = new int[10][];
        //首尾处理
        for (int i = 0; i < arr.length; i++)
        {
            arr[i] = new int[i+1];
            arr[i][0] = 1;          //给首末元素赋值
            arr[i][i] =1;

            for (int j = 1; j < arr[i].length - 1; j++)   //逐行赋值
            {
                arr[i][j] = arr[i-1][j]+arr[i-1][j-1];
            }
        }

        //输出
        for (int i = 0; i < arr.length; i++)
        {
            for (int j = 0; j<arr[i].length; j++)
            {
                System.out.print(arr[i][j]+"\\t");
            }
            System.out.println();
        }

    }
}

以上是关于使用二维数组打印一个10行杨辉三角的主要内容,如果未能解决你的问题,请参考以下文章

笔试题大集合

用JAVA打印杨辉三角…

javase 打印杨辉三角

怎样用java打印杨辉三角,自己输入行

java怎么用一个一维数组输出杨辉三角(补充完整下列代码)

用二维数组的方式打印杨辉三角形