c语言:设计杨辉三角的完整算法程序
时间: 2024-10-08 19:24:45 浏览: 29
C语言程序设计-程序举例杨辉三角形.pptx
在 C 语言中,设计一个打印杨辉三角的完整算法程序通常会采用动态规划的思想。杨辉三角是一个二项式系数数组形成的三角形,在每个位置 (i, j),其值表示的是组合数 C(i, j)。下面是创建一个递归函数并结合循环结构来实现这个功能的一个例子:
```c
#include <stdio.h>
// 动态规划函数计算杨辉三角中的第 i 行的第 j 个元素
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 rows) {
for (int i = 0; i <= rows; ++i) {
// 打印前导空格,保证对齐
for (int j = 0; j < rows - 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` 函数则负责打印整个三角形。用户可以输入想要打印的行数。
阅读全文