c语言中用结构体编写阶乘,c语言递归算法怎么实现

递归就是一个方法自己调用自己。在编程语言中,如果一个程序允许您在同一个函数中调用一个函数,那么它就被称为函数的递归调用。

a659bbf735d3e140c0e47515cc5996a5.pngvoid recursion() {

recursion(); /* 函数调用本身 */

}

int main() {

recursion();

}

C语言支持递归,即一个调用自身的函数。但是在使用递归时,程序员需要小心定义函数的退出条件,否则它将进入无限循环。

递归函数对于解决许多数学问题非常有用,例如计算一个数的阶乘、生成斐波那契级数等。

数的阶乘

下面的例子使用递归计算一个给定的数的阶乘函数#include

unsigned long long int factorial(unsigned int i) {

if(i <= 1) {

return 1;

}

return i * factorial(i - 1);

}

int main() {

int i = 12;

printf("Factorial of %d is %d\n", i, factorial(i));

return 0;

}

输出:Factorial of 12 is 479001600

斐波那契系列

以下示例使用递归函数为给定数字生成斐波那契(Fibonacci)系列#include int fibonacci(int i) {

if(i == 0) {

return 0;

}

if(i == 1) {

return 1;

}

return fibonacci(i-1) + fibonacci(i-2);}int main() {

int i;

for (i = 0; i < 10; i++) {

printf("%d\t\n", fibonacci(i));

}

return 0;}

输出:0

1

1

2

3

5

8

13

21

34

相关C语言视频教程推荐:《C教程》

本篇文章就是关于c语言递归算法的介绍,希望对需要的朋友有所帮助!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值