C笔记(十一)——递归函数

 
 

一、定义:函数自己调用自己,有先序递归和后序递归

#include <stdio.h>

void text(int n)
{
    if(n > 0) //终止条件
    {
        n--;
        printf("n = %d\n", n); //先序递归,代码顺序执行
        text(n);//函数递归,即自己调用自己
        printf("n1 = %d\n", n);//后续递归,代码逆序执行
    }
}
int main()
{
    int i = 3;
    text(i);
    return 0;
}

    递归的过程分析

注:递归要有终止条件,即这里的

 if(n > 0) 

二、十进制转二进制

#include <stdio.h>
void bin (int n)  //十進制轉十六進制
{
    int i = n % 16;

    if (n > 0)
    {
        bin(n / 16);
        printf("%d", i);
    }
}

int main()
{
    int i = 15;
    bin(i);
    return 0;
}

三、斐波拉契数列:0,1,1,2,3,5,8.。。

·int fib(int n)
{
    if(n == 0)
        return 0;
    if(n == 1)
        return 1;
    else
    {
      return fib (n - 1) + fib(n - 2);
    }
}

int main()
{
    printf("%d\n",fib(3));
    return 0;
}

猜你喜欢

转载自blog.csdn.net/qq_37764129/article/details/80258251
今日推荐