05.C(递归函数)

(创建于2017/8/16)

1.前置递归和后置递归
前置是倒叙,后置是正序

2.递归十进制转二进制

#include
#include

int to2(int n)
{
    
    int i = n % 2;
    if (n>0)
    {
        printf("%d\n", i);
        to2(n / 2);
        
    }
}

int main() 
{
    to2(11);
}

3.递归求字符串长度

#include
#include

int getstrlen(char s[], int n)
{
    if (s[n])      //以第n个位置的元素是否为0作为递归结束你的标记
    {
        return getstrlen(s, n + 1);
    }
    else
    {
        return n;
    }
}

int main() 
{
    char s[] = "renzhenmingshigehaoren";
    printf("长度是:%d\n",getstrlen(s, 0));
}

4.递归求斐波那契数列中某一个index的值

#include
#include
//斐波那契数列,0,1开头,后边的规律是每个数字等于前两个数字的和
int fib(int m) {
    if (m == 0)
    {
        return 0;
    }
    else if (m == 1)
    {
        return 1;
    }
    else
    {
        return fib(m - 1) + fib(m-2);
    }
}
int main() 
{
    printf("斐波那契数列中第%d个数是:%d\n",6,fib(6));
}

你可能感兴趣的:(05.C(递归函数))