• 技术文章 >后端开发 >C#.Net教程

    c语言递归算法怎么实现

    藏色散人藏色散人2019-02-28 14:00:04原创2735
    递归就是一个方法自己调用自己。在编程语言中,如果一个程序允许您在同一个函数中调用一个函数,那么它就被称为函数的递归调用。

    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语言递归算法怎么实现的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:c语言递归算法
    上一篇:C语言中的运算符优先级(代码示例) 下一篇:c语言函数调用的三种方式是什么
    PHP编程就业班

    相关文章推荐

    • C语言和C++有什么区别• c语言标识符有哪些• c语言变量名规则是什么• C语言中的运算符优先级(代码示例)

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网