定义一个函数打印杨辉三角
时间: 2023-10-18 22:16:11 浏览: 76
杨辉三角是一个数学上的图形,其中每个数是上方两数之和。以下是一个打印杨辉三角的 Python 函数:
```python
def print_pascal_triangle(n):
triangle = [[1]]
for i in range(1, n):
row = [1]
for j in range(1, i):
row.append(triangle[i-1][j-1] + triangle[i-1][j])
row.append(1)
triangle.append(row)
for row in triangle:
print(" ".join(str(num) for num in row).center(n*2))
```
你可以调用这个函数并传递一个整数参数 `n`,它将打印出一个 `n` 行的杨辉三角。例如,如果你调用 `print_pascal_triangle(5)`,它将打印出以下内容:
```
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
```
相关问题
c语言用自定义函数打印杨辉三角
好的,以下是用 C 语言编写的自定义函数打印杨辉三角的代码:
```c
#include <stdio.h>
// 自定义函数打印杨辉三角
void printYangHuiTriangle(int n) {
int i, j;
int arr[n][n]; // 定义一个二维数组存放杨辉三角的数值
// 初始化数组
for(i = 0; i < n; i++) {
for(j = 0; j <= i; j++) {
if(j == 0 || j == i) {
arr[i][j] = 1;
}
else {
arr[i][j] = arr[i - 1][j - 1] + arr[i - 1][j];
}
}
}
// 打印杨辉三角
for(i = 0; i < n; i++) {
for(j = 0; j <= i; j++) {
printf("%d ", arr[i][j]);
}
printf("\n");
}
}
int main() {
int n;
printf("请输入杨辉三角的行数:");
scanf("%d", &n);
printYangHuiTriangle(n);
return 0;
}
```
在 main 函数中,我们首先通过 scanf 函数获取用户输入的杨辉三角的行数,然后将这个值传入自定义函数 printYangHuiTriangle 中。在自定义函数中,我们首先定义一个二维数组来存放杨辉三角的数值。接着,我们通过两层循环来遍历这个数组,计算每个位置上的数值,并将其打印出来。最终得到的输出就是杨辉三角。
c语言调用n的阶乘的函数打印杨辉三角
好的,下面是使用C语言调用n的阶乘函数打印杨辉三角的代码:
```c
#include <stdio.h>
// 定义阶乘函数
int factorial(int n) {
if (n == 0) {
return 1;
} else {
return n * factorial(n - 1);
}
}
int main() {
int n;
printf("请输入要打印的杨辉三角的行数: ");
scanf("%d", &n);
for (int i = 0; i < n; i++) {
for (int j = 0; j <= i; j++) {
// 计算杨辉三角的每个数值
int val = factorial(i) / (factorial(j) * factorial(i - j));
printf("%d ", val);
}
printf("\n");
}
return 0;
}
```
运行结果示例:
```
请输入要打印的杨辉三角的行数: 5
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
```
希望能够帮到你!
阅读全文