问题:打印出一个10行的杨辉三角形 知识点:二维数组 思路:先分析杨辉三角形的规律:1.n行的元素数量是n;2.每行的首尾都是1;3.从第三行开始,每一非首末的数字都满足:yangHui[i][j]=yangHui[i-1][j-1]+yangHui[i-1][j]。代码如下:
// 1.声明初始化二维数组 int[][] yangHui = new int[10][]; // 2.给数组的元素赋值 for (int i = 0; i < yangHui.length; i++) { yangHui[i] = new int[i+1]; // 2.1 给首末元素赋值 yangHui[i][0] = 1; yangHui[i][i] = 1; // 2.2 给每行的非首末元素赋值 if (i>1){ for (int j = 1; j <yangHui[i].length-1 ; j++) { yangHui[i][j]=yangHui[i-1][j-1]+yangHui[i-1][j]; } } } // 3.遍历二维数组 for (int i = 0; i < yangHui.length; i++) { for (int j = 0; j <yangHui[i].length ; j++) { System.out.print(yangHui[i][j]+"\t"); } System.out.println(); }输出结果如下: 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 1 6 15 20 15 6 1 1 7 21 35 35 21 7 1 1 8 28 56 70 56 28 8 1 1 9 36 84 126 126 84 36 9 1