前言:
今天兄弟们对“c语言求阶乘函数并调用”大概比较注意,小伙伴们都需要了解一些“c语言求阶乘函数并调用”的相关内容。那么小编也在网络上收集了一些对于“c语言求阶乘函数并调用””的相关资讯,希望姐妹们能喜欢,小伙伴们快快来了解一下吧!C语言中在使用函数时,能不使用递归调用就不要递归调用,因为递归如果用不好,就会造成死递归类似于死循环,会让整个程度死掉。不过函数的递归调用也可以用于一些特殊场景,比如存在子父级关系的数据中,比如文件夹处理,省市区县,菜单数据的处理等等。
本篇文章就来讲讲函数递归调用的一些简单用法,求和,求阶乘,计算斐波那契数列等等。
用法一:使用递归方法累计求和。示例代码如下,
#include <stdio.h>
int recursionFunction(int number);
int main() {
int rs = recursionFunction(100);
printf("rs=%d", rs);
return 0;
}
// 使用递归方法累计求和
int recursionFunction(int number) {
if (number == 1) {
return 1;
}
return number + recursionFunction(number - 1);
}
测试结果如下,
用法二:使用递归方法求阶乘。示例代码如下,
#include <stdio.h>
int recursionFunction(int number);
int main() {
int rs = recursionFunction(10);
printf("rs=%d", rs);
return 0;
}
// 使用递归方法累计求和
int recursionFunction(int number) {
if (number == 1) {
return 1;
}
return number * recursionFunction(number - 1);
}
测试结果如下,
用法三:使用递归方法求斐波那契数列。示例代码如下,
#include <stdio.h>
int recursionFunction(int number);
int main() {
int rs = recursionFunction(6);
printf("rs=%d", rs);
return 0;
}
int recursionFunction(int num) {
if (num == 1 || num == 2) {
// 前面两个数都是1
return 1;
}
// 从第三个数开始,等于前面两个数之和,示例 1 1 2 3 5 8 13
return recursionFunction(num - 1) + recursionFunction(num - 2);
}
测试结果1如下,
测试结果2如下,
标签: #c语言求阶乘函数并调用 #c语言递归调用函数