二维数组实现杨辉三角
时间: 2023-12-26 16:25:38 浏览: 23
以下是Python中使用二维数组实现杨辉三角的代码:
```python
# 定义杨辉三角的行数
n = 5
# 初始化二维数组
triangle = [[0] * i for i in range(1, n+1)]
# 填充杨辉三角
for i in range(n):
for j in range(i+1):
if j == 0 or j == i:
triangle[i][j] = 1
else:
triangle[i][j] = triangle[i-1][j-1] + triangle[i-1][j]
# 输出杨辉三角
for i in range(n):
for j in range(i+1):
print(triangle[i][j], end=' ')
print()
```
运行结果如下:
```
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
```
相关问题
二维数组实现杨辉三角直
二维数组可以很方便地实现杨辉三角。具体实现方法如下:
```c
#include <stdio.h>
#define N 10
int main() {
int a[N][N];
int i, j;
for (i = 0; i < N; i++) {
for (j = 0; j <= i; j++) {
if (j == 0 || j == i) {
a[i][j] = 1; // 两边的 1
} else {
a[i][j] = a[i-1][j-1] + a[i-1][j]; // 中间的数等于上一行两个数之和
}
}
}
for (i = 0; i < N; i++) {
for (j = 0; j <= N-i; j++) {
printf(" "); // 每行最前面打印的空格数
}
for (j = 0; j <= i; j++) {
printf("%3d ", a[i][j]); // 打印数组
}
printf("\n");
}
return 0;
}
```
上述代码中,我们首先定义了一个大小为N*N的二维数组a,然后使用两个for循环来遍历数组a,并根据杨辉三角的规律将对应位置的值赋为1或者上一行两个数之和。最后再使用两个for循环来打印数组a,其中第一个for循环用于打印每行最前面的空格数,第二个for循环用于打印数组a中的值。
利用二维数组实现杨辉三角形的输出c++
好的,我可以回答这个问题。下面是利用二维数组实现杨辉三角形的输出的c代码:
```
#include <stdio.h>
void print_pascal(int n)
{
int pascal[n][n];
for(int i = 0; i < n; i++)
{
for(int j = 0; j <= i; j++)
{
if(j == 0 || j == i)
{
pascal[i][j] = 1;
}
else
{
pascal[i][j] = pascal[i-1][j-1] + pascal[i-1][j];
}
}
}
for(int i = 0; i < n; i++)
{
for(int j = 0; j <= i; j++)
{
printf("%d ", pascal[i][j]);
}
printf("\n");
}
}
int main()
{
int n;
printf("请输入杨辉三角的行数:");
scanf("%d", &n);
print_pascal(n);
return 0;
}
```
希望能解决您的问题。