题目要求
题目要求输出一个10行的杨辉三角,如下所示:
使用二维数组打印一个10行杨辉三角
思路分析
题目要求输出一个杨辉三角,我们从给的案例可以得出如下规律:
- 第一行有1个元素,第二行有2个元素,第n行就有n个元素;
- 每一行的第1个和最后1个元素都为1;
- 从第三行起,除了第1个元素和最后1个元素,其数字的值都为对应上一行的值加上左边的值。也就是:
yanghui[i][j] = yanghui[i - 1][j] + yanghui[i - 1][j - 1];
代码实现
public class yanghui {
public static void main(String[] args) {
int yanghui[][] = new int[10][]; //定义10行的数组
for (int i = 0; i < yanghui.length; i++) {//遍历yanghui的每个元素
yanghui[i] = new int[i + 1]; //给每个一维数组(行)开辟空间
for (int j = 0; j < yanghui[i].length; j++) { //给每个一维数组赋值
if ( j == 0 || j == yanghui[i].length - 1) {
//每一行的第一个元素和最后一个元素始终为1
yanghui[i][j] = 1;
}else{ //给中间的元素赋值
yanghui[i][j] = yanghui[i - 1][j] + yanghui[i - 1][j - 1];
}
}
}
//输出杨辉三角
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(); //每输出完一层就换行
}
}
}