1 package FushiExam;
2 import java.util.*;
3 public class Text_33 {
4
5 public static void main(String[] args) {
6 // 打印杨辉三角
7 /*
8 * 1
9 * 1 1
10 * 1 2 1
11 * 1 3 3 1
12 1 4 6 4 1
13 1 5 10 10 5 1
14 杨辉三角如图所示:
15
16 分析:
17 在数组中设置一个n*n的矩阵,不考虑格式,如图:
18 1
19 1 1
20 1 2 1
21 1 3 3 1
22 1 4 6 4 1
23 1 5 10 10 5 1
24 *
25 */
26 Scanner scan=new Scanner(System.in);
27 System.out.println("打印杨辉三角的前多少行:");
28 int n=scan.nextInt();
29 int[][] arr=new int[n][n];//用一个n*n的二维矩阵来存储杨辉三角数据
30 for(int i=0;i<n;i++) {
31 for(int j=0;j<n;j++) {//设置每一行数据为‘1’的位置
32 arr[i][0]=1;
33 arr[i][i]=1;
34 }
35 }
36 /*
37 * 接下来设置除了‘1’的位置
38 */
39 for(int i=0;i<n;i++) {
40 for(int j=0;j<=i;j++) {
41 if(arr[i][j]==0)
42 arr[i][j]=arr[i-1][j-1]+arr[i-1][j];
43 }
44 }
45 /*
46 * 输出为:
47 * 1
48 * 11
49 * 121
50 * 1331
51 * 14641
52 * 15101051
53 *
54 * 接下来设置输出格式
55 */
56 for(int i=0;i<n;i++) {
57 for(int k=0;k<n-1-i;k++) {//输出空格
58 System.out.print(" ");}//输出每一行开始的空格
59 for(int j=0;j<=i;j++) {
60 System.out.print(arr[i][j]+" ");//打印每一个数据
61 }
62 System.out.println();
63 }
64
65 /*for(int i=1;i<n;i++) {//第一层循环,行数
66 for(int j=0;j<n-i;j++) {//第二层循环,用来打印每一行的空格
67
68 }
69
70 }
71 */
72 }
73
74 }