使用二维数组打印一个 10 行杨辉三角。[提示] 1.第一行有 1个元素,第 n 行有 n 个元素2.每一行的第一个元素和最后一个元素都是 13.从第三行开始,对于非第一个元素和最后一个元素的元素。即:yanghui[i][j] = yanghui[i-1][j-1] + yanghui[i-1][jl;思路: 先用二维数组保存数值,在遍历打印
时间: 2023-10-23 14:33:10 浏览: 32
好的,下面是代码实现:
```python
# 定义一个二维数组
yanghui = [[1]*i for i in range(1,11)]
# 计算杨辉三角的数值
for i in range(2,10):
for j in range(1,i):
yanghui[i][j] = yanghui[i-1][j-1] + yanghui[i-1][j]
# 遍历打印杨辉三角
for i in range(10):
for j in range(len(yanghui[i])):
print(yanghui[i][j], end=' ')
print()
```
输出结果如下:
```
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
1 6 15 20 15 6 1
1 7 21 35 35 21 7 1
1 8 28 56 70 56 28 8 1
```
相关问题
使用动态建立二维数组的方式输出8行杨辉三角形
以下是使用动态建立二维数组的方式输出8行杨辉三角形的代码:
```python
n = 8 # 杨辉三角形的行数
triangle = [[1] * (i+1) for i in range(n)] # 动态建立二维数组
for i in range(2, n): # 从第3行开始计算
for j in range(1, i): # 第1列和最后1列都是1,不需要计算
triangle[i][j] = triangle[i-1][j-1] + triangle[i-1][j] # 根据杨辉三角形的规律计算每个数
for row in triangle: # 输出杨辉三角形
print(row)
```
输出结果如下:
```
[1]
[1, 1]
[1, 2, 1]
[1, 3, 3, 1]
[1, 4, 6, 4, 1]
[1, 5, 10, 10, 5, 1]
[1, 6, 15, 20, 15, 6, 1]
[1, 7, 21, 35, 35, 21, 7, 1]
```
C语言用二维数组打印杨辉三角10行
下面是用 C 语言打印杨辉三角 10 行的代码:
```c
#include <stdio.h>
int main() {
int n = 10;
int triangle[n][n];
for (int i = 0; i < n; i++) {
for (int j = 0; j <= i; j++) {
if (j == 0 || j == i) {
triangle[i][j] = 1;
} else {
triangle[i][j] = triangle[i-1][j-1] + triangle[i-1][j];
}
printf("%d ", triangle[i][j]);
}
printf("\n");
}
return 0;
}
```
输出结果:
```
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
1 6 15 20 15 6 1
1 7 21 35 35 21 7 1
1 8 28 56 70 56 28 8 1
1 9 36 84 126 126 84 36 9 1
```
使用一个二维数组 `triangle` 来存储杨辉三角的值。对于第 `i` 行第 `j` 列的值,它的值等于上一行的第 `j-1` 列和第 `j` 列的值之和。当 `j` 等于 `0` 或者 `i` 时,该值为 `1`。每次计算完一个值后,都要输出并换行。最后输出的就是完整的杨辉三角。