用C语言打印杨辉三角。 输入 输入只有一行,表示需要打印的杨辉三角的行数 n(1≤n≤20)。 输出 输出为打印的杨辉三角,其中,需要打印出类似等腰三角形的样式。每行各个数字之间用一个空格隔开(不考虑数字位数对齐),最后一个数后面输出换行符。
时间: 2024-10-28 15:15:07 浏览: 52
在C语言中,打印杨辉三角通常会采用递归或动态规划的方法。这里提供一种简单的动态规划实现方法。首先,我们需要创建一个二维数组存储每个位置的值,然后从前往后、自顶向下来填充这个数组。
```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) {
// 打印第i行
printf("%d", binomial_coefficient(n, i)); // 杨辉三角的第一列都是1
for (int j = 1; j < i; ++j) {
printf(" %d", binomial_coefficient(i - 1, j)); // 其他位置的值等于上一行对应位置减一
}
printf(" %d\n", binomial_coefficient(i, i)); // 每行结束后的1不需要加空格
if (i != n) // 最后一行结束后不需要换行
printf(" ");
}
}
int main() {
int n;
scanf("%d", &n);
print_pascal_triangle(n);
return 0;
}
```
在这个程序中,`binomial_coefficient`函数用于计算组合数(即杨辉三角的元素),`print_pascal_triangle`函数则负责打印整个三角形。用户输入n后,程序将输出对应的杨辉三角。
阅读全文
相关推荐

















