c语言打印n行杨辉三角
时间: 2024-11-17 11:30:13 浏览: 19
在C语言中,打印杨辉三角通常采用递归或者动态规划的方法。下面是一个简单的C程序示例,展示了如何使用嵌套循环来打印前n行的杨辉三角:
```c
#include <stdio.h>
// 杨辉三角的一个元素
int binomial_coefficient(int n, int k) {
if (k == 0 || k == n)
return 1;
else
return binomial_coefficient(n - 1, k - 1) + binomial_coefficient(n - 1, k);
}
// 打印杨辉三角
void print_pascal_triangle(int n) {
for (int i = 0; i <= n; ++i) {
// 打印当前行的空格
for (int j = 0; j < n - i; ++j)
printf(" ");
// 计算并打印每个元素
for (int j = 0; j <= i; ++j) {
printf("%d ", binomial_coefficient(i, j));
}
// 换行
printf("\n");
}
}
int main() {
int rows;
printf("请输入要打印的杨辉三角行数: ");
scanf("%d", &rows);
print_pascal_triangle(rows);
return 0;
}
```
在这个程序中,`binomial_coefficient`函数用于计算组合数(杨辉三角中的元素),`print_pascal_triangle`函数则负责打印三角形。用户输入想要打印的行数后,程序会生成相应的杨辉三角。
阅读全文