请使用C语言中递归的方法求解杨辉三角,杨辉三角的行数介于1–10之间
时间: 2024-03-08 20:50:56 浏览: 23
好的,以下是使用 C 语言中递归的方法求解杨辉三角的代码:
```c
#include <stdio.h>
int triangle(int row, int col) {
if (col == 0 || col == row) { // 第一列和最后一列都是1
return 1;
} else { // 其他位置的数是上一行相邻两个数之和
return triangle(row-1, col-1) + triangle(row-1, col);
}
}
int main() {
int n;
printf("请输入杨辉三角的行数(1-10):");
scanf("%d", &n);
for (int i = 0; i < n; i++) {
for (int j = 0; j <= i; j++) {
printf("%d ", triangle(i, j));
}
printf("\n");
}
return 0;
}
```
运行效果如下:
```
请输入杨辉三角的行数(1-10):6
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
```
希望我的回答能够帮助到您!
相关问题
c语言递归函数求杨辉三角
下面是用C语言递归函数求杨辉三角的代码:
```c
#include <stdio.h>
int YangHui(int i, int j) {
if (j == 0 || j == i) {
return 1;
} else {
return YangHui(i-1, j-1) + YangHui(i-1, j);
}
}
int main() {
int n;
printf("请输入杨辉三角的行数:");
scanf("%d", &n);
for (int i = 0; i < n; i++) {
for (int j = 0; j <= i; j++) {
printf("%d ", YangHui(i, j));
}
printf("\n");
}
return 0;
}
```
首先,我们定义了一个名为`YangHui`的递归函数,它的参数`i`表示杨辉三角的行数,参数`j`表示杨辉三角中当前行的位置,函数返回当前位置的值。
在函数内部,我们首先判断当前位置是否在杨辉三角的边缘,如果是,就返回1,否则就递归计算上一行的相邻两个位置的值之和。
在`main`函数中,我们输入杨辉三角的行数,并使用嵌套的循环打印出整个杨辉三角。
C语言递归显示杨辉三角
要通过递归显示杨辉三角,可以使用递归来计算每个位置上的值,并打印出相应的三角形形状。下面是一个示例代码:
```c
#include <stdio.h>
int pascal(int row, int col) {
if (col == 0 || col == row) {
return 1;
}
else {
return pascal(row - 1, col - 1) + pascal(row - 1, col);
}
}
void printPascalTriangle(int n) {
for (int i = 0; i < n; i++) {
for (int j = 0; j <= i; j++) {
printf("%d ", pascal(i, j));
}
printf("\n");
}
}
int main() {
int n;
printf("请输入要显示的杨辉三角的行数:");
scanf("%d", &n);
printPascalTriangle(n);
return 0;
}
```
在这个示例代码中,我们定义了一个名为`pascal`的递归函数,用于计算杨辉三角中指定位置的值。函数通过递归调用来计算每个位置的值,根据杨辉三角的性质,每个位置的值等于其上一行前一列和上一行当前列的值之和。
然后,我们定义了一个名为`printPascalTriangle`的函数,用于按行打印杨辉三角。在该函数中,我们使用两个嵌套循环来遍历每一行和每一列,并调用`pascal`函数来获取每个位置的值并打印出来。
使用这个示例代码,你可以输入一个正整数n,程序将打印出n行的杨辉三角形。注意,递归求解杨辉三角的效率较低,当n较大时可能会有性能问题。建议使用其他更高效的方法来生成杨辉三角。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)