(創(chuàng)建于2017/8/16)
1.前置遞歸和后置遞歸
前置是倒敘纳猫,后置是正序
2.遞歸十進(jìn)制轉(zhuǎn)二進(jìn)制
#include<stdio.h>
#include<string.h>
int to2(int n)
{
int i = n % 2;
if (n>0)
{
printf("%d\n", i);
to2(n / 2);
}
}
int main()
{
to2(11);
}
3.遞歸求字符串長(zhǎng)度
#include<stdio.h>
#include<string.h>
int getstrlen(char s[], int n)
{
if (s[n]) //以第n個(gè)位置的元素是否為0作為遞歸結(jié)束你的標(biāo)記
{
return getstrlen(s, n + 1);
}
else
{
return n;
}
}
int main()
{
char s[] = "renzhenmingshigehaoren";
printf("長(zhǎng)度是:%d\n",getstrlen(s, 0));
}
4.遞歸求斐波那契數(shù)列中某一個(gè)index的值
#include<stdio.h>
#include<string.h>
//斐波那契數(shù)列叭喜,0救巷,1開頭毕匀,后邊的規(guī)律是每個(gè)數(shù)字等于前兩個(gè)數(shù)字的和
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("斐波那契數(shù)列中第%d個(gè)數(shù)是:%d\n",6,fib(6));
}