c语言递归算法怎么实现

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

void recursion() {    recursion(); /* 函数调用本身 */ }  int main() {    recursion(); }

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

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

数的阶乘

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

#include <stdio.h>  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 <stdio.h>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语言递归算法的介绍,希望对需要的朋友有所帮助!

以上就是c语言递归算法怎么实现的详细内容,更多内容请关注技术你好其它相关文章!

来源链接:
免责声明:
1.资讯内容不构成投资建议,投资者应独立决策并自行承担风险
2.本文版权归属原作所有,仅代表作者本人观点,不代表本站的观点或立场
上一篇:php获取远程图片并下载保存到本地的方法分析 下一篇:C语言中的运算符优先级(代码示例)

相关资讯