杨辉三角函数递归c语言程序
时间: 2023-09-11 09:03:45 浏览: 195
以下是一个使用递归函数实现杨辉三角的C语言程序:
#include <stdio.h>
long getadd(int a,int b){
return (b == 1||b == a) ? 1 : getadd(a - 1,b - 1) + getadd(a - 1,b);
}
int main(){
int i,j,n = 0;
printf("输入所需杨辉三角的行数(1-20):");
scanf("%d",&n);
for(i = 1;i <= n; i++){
for(j = 1;j <= i;j++){
printf("%6ld",getadd(i,j));
}
printf("\n");
}
return 0;
}
这个程序使用了递归函数getadd来计算杨辉三角的每个元素。getadd函数的定义中,当b等于1或者b等于a时,返回1,否则返回getadd(a-1, b-1) + getadd(a-1, b)的值。在主函数中,用户输入所需的杨辉三角行数,并使用两个嵌套的循环来输出每个元素。输出使用"%6ld"来格式化输出,使得输出的数字能够对齐。最后,程序返回0表示正常结束。
希望这个答案能够满足你的需求。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* [【C语言】——打印杨辉三角(递归)](https://blog.csdn.net/weixin_51331210/article/details/127344401)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"]
- *2* *3* [C语言打印杨辉三角(递归)(数学逻辑)](https://blog.csdn.net/m0_60338933/article/details/123198555)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]
阅读全文