杨辉三角形

it2025-09-05  6

/* 行数可以键盘录入,打印杨辉三角形 杨辉三角形 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 规律: 任何一行的第一列和任何一行的最后一列都是1 从第三行开始,中间的每一个数据都是上一行的前一列加上一行的本列之和 步骤: 1)导包,创建键盘录入对象 接收数据int n 2)定义一个二维数组 动态初始化 int[][] arr = new int[n][n] ; 3)遍历二维数组, 给当前任何第一列和任何一行的最后一列都赋值1 4)二维数组的遍历 里面按照以下规律: 从第三行开始,中间的每一个数据都是上一行的前一列加上一行的本列之和 ... */ //导包 import java.util.Scanner ; class Array2Test3{ public static void main(String[] args){ //创建键盘录入对象 Scanner sc = new Scanner(System.in) ; //接收数据 System.out.println("请输入一个行数n: ") ; int n = sc.nextInt(); //定义二维数组 int[][] arr = new int[n][n] ; //给当前任意一行的第一列和最后一列赋值1 for(int x = 0 ; x < arr.length; x ++){ arr[x][0] = 1 ; arr[x][x] = 1 ; } //填充杨辉三角形的中间值 //从第三行开始,中间的每一个数据都是上一行的前一列加上一行的本列之和 for(int x = 2; x < arr.length; x ++){ //x行数 0,1,2 //第一列和最后一列被1填充了 (最后一列已经有值了) for(int y = 1 ; y <=x-1 ; y ++){//y列数 //中间的每一个数据都是上一行的前一列加上一行的本列之和 arr[x][y] = arr[x-1][y-1] + arr[x-1][y] ; } } //二维数组的遍历 //注意:角标y的取值<=x for(int x = 0 ; x < arr.length ; x ++){ for(int y = 0 ; y <=x ;y++){ System.out.print(arr[x][y] +"\t") ; } System.out.println() ; } } }
最新回复(0)