【基础】使用二维数组打印一个 10 行杨辉三角。

  • 效果图:

在这里插入图片描述

  • 思路:

第一行有 1 个元素, 第 n 行有 n 个元素
每一行的第一个元素和最后一个元素都是 1
从第三行开始, 对于非第一个元素和最后一个元素的元素。即:
yanghui[i][j] = yanghui[i-1][j-1] + yanghui[i-1][j];

  • 代码实现:
public class YangHuiTest {
	public static void main(String[] args) {
		// 1.初始化二维数组
		int[][] yangHui = new int[10][];
		for (int i = 0; i < yangHui.length; i++) {
			// 给每一行定义(角标+1)的长度
			yangHui[i] = new int[i + 1];

			// 2.给数组元素赋值
			// 2.1给每一行首元素和尾元素赋值
			yangHui[i][0] = yangHui[i][i] = 1;

			// 2.2给每一行非首元素和非尾元素赋值
			for (int j = 1; j < yangHui[i].length - 1; j++) {
				// 等于上一行对应元素加它左边的元素
				yangHui[i][j] = yangHui[i - 1][j] + yangHui[i - 1][j - 1];
			}
		}

		// 遍历输出二维数组的元素,打印外层数组元素长度值的行数,从0开始是为了后面输出
		for (int i = 0; i < yangHui.length; i++) {
			// 打印内层数组元素长度值的列数,从0开始是为了后面输出
			for (int j = 0; j < yangHui[i].length; j++) {
				System.out.print(yangHui[i][j] + "\t");
			}
			System.out.println();
		}
	}
}
发布了37 篇原创文章 · 获赞 5 · 访问量 743

猜你喜欢

转载自blog.csdn.net/qq_43771096/article/details/104449789