c语言:用递归法设计杨辉三角的完整算法程序
时间: 2024-10-08 11:24:12 浏览: 82
C语言-杨辉三角(最佳算法)
杨辉三角是一种二项式系数的几何排列,常用于组合数学中。以下是使用C语言递归方法来生成杨辉三角的一个简单示例:
```c
#include <stdio.h>
// 递归函数生成杨辉三角的第n行
void printPascalTriangle(int n) {
if (n == 0 || n == 1) {
// 基本情况:第一行只有一个1,第二行有两个1
for (int i = 0; i <= n; i++) {
printf("%d ", i + 1);
}
printf("\n");
} else {
// 一般情况:打印当前行的第一个数
printf("%d ", n);
// 递归打印前一行,然后加当前行的第二个数
printPascalTriangle(n - 1);
// 打印剩余的数(等于前一行的数)
if (n > 1) {
printf(" ");
printPascalTriangle(n - 1);
}
// 每行结束添加换行符
printf("\n");
}
}
int main() {
int rows;
printf("请输入杨辉三角的行数: ");
scanf("%d", &rows);
printf("杨辉三角:\n");
printPascalTriangle(rows);
return 0;
}
```
这个程序首先检查是否为基础情况(n=0或1),然后分别处理一般情况和递归调用。用户可以输入想要的行数,程序会输出对应的杨辉三角。
阅读全文