根据用户输入的行数n输出对应行数的杨辉三角
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
提示:
第一行有一个元素,第n行有n个元素
每一行的第一个元素和最后一个元素都是1
从第三行开始,对于非第一个元素和最后一个元素的元素值。
arr[i][j]=arr[i-1][j]+arr[i-1][j-1]
代码实现:
//1.提示用户输入一个正整数作为二维数组的行数
System.out.println("请输入二维数组的行数:");
Scanner scanner = new Scanner(System.in);
int num = scanner.nextInt();
//2.针对不同的行申请不同的列数并初始化元素
//申请一个num行,暂时不知道多少列的二维数组
int[][] arr = new int[num][];
for (int i = 0; i < num; i++) {
//针对每一行申请对应的列数
arr[i] = new int[i+1];
//针对每行每列的具体元素进行初始化
for (int j = 0; j <= i; j++) {
//数组第一列 列下标与行下标相等都是1
if (j == 0 || i == j){
arr[i][j] = 1;
}else {
arr[i][j] = arr[i-1][j]+arr[i-1][j-1];
}
}
}
//3.打印数组中的所有元素
for (int i = 0; i < arr.length; i++) {
for (int j = 0; j <= i; j++) {
System.out.print(arr[i][j] + "\t");
}
System.out.println();
}
打印结果