题目:
使用二维数组打印一个10行的杨辉三角
- 1.第一行有1个元素,第n行有n个元素
- 2.每一行的第一个元素和最后一个元素都是1
- 3.从第三行开始,对于非第一个元素和最后一个元素的元素。
即:
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][];
//2.给数组的元素赋值
for(int i = 0 ;i<yangHui.length;i++) {
yangHui[i] = new int[i+1];
//2.1给首末元素赋值
yangHui[i][0] = yangHui[i][i] = 1;
//2.2给每行的非首末元素赋值
// if(i>1) {
for(int j = 1; j < yangHui[i].length-1; j++) {
yangHui[i][j] = yangHui[i-1][j-1] + yangHui[i-1][j];
}
// }
}
//3.遍历二维数组
for(int i = 0;i < yangHui.length;i++) {
for(int j = 0;j < yangHui[i].length; j++) {
System.out.print(yangHui[i][j] + " ");
}
System.out.println();
}
}
}
运行结果:
总结:
- 先搭出杨辉三角的框架,未赋值那种,然后在进行赋值,思路要清晰
- 那个2.2的if可有可无,不是很影响
- 这个题还是有一定难度的,可以考虑以后自己再敲一遍
- 来给自己比个yeah