1.题目
打印出杨辉三角形(要求打印出10行如下图) 程序分析: 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1
2.分析
这个自己想确实没有想出来,后来debug别人的代码,整理理清楚了; 首先构造一个有几行就有几个数的数组a,然后现在数组a里面用一个for循环将当前循环的数造好,然后再把造好数的数组,在用一个for循环有几行取出几个数展示即可,然后新数组,重新进入下一轮循环参与运算,重复同样的操作即可。
3.代码
public class Test {
public static final int MONTH = 15;
public static void main(String[] args) {
System.out.println("请输入行数:");
Scanner sc = new Scanner(System.in);
int line = sc.nextInt();
int[] a = new int[line];
for (int i = 0; i < line; i++) {
a[i] = 1;
}
if (line == 1) {
System.out.println(1);
} else if (line == 2) {
System.out.println(1);
System.out.println(1 + "\t" + 1);
} else {
System.out.println(1);
System.out.println(1 + "\t" + 1);
for (int i = 1; i < line-1; i++) {
for (int j = i; j >= 1; j--) {
a[j] = a[j] + a[j - 1];
}
for(int k =0;k<i+2;k++){
System.out.print(a[k]+"\t");
}
System.out.println();
}
}
}
}
4.结果
|