6-1使用递归函数计算1到n之和
int sum( int n )
{
if(n<=0) return 0;
if(n>0) return n+sum(n-1);
}
6-2递归求fabonacci数列
int f( int n )
{
if(n==0) return 0;
if(n==1) return 1;
if(n>1) return f(n-1)+f(n-2);
}
6-3递归实现顺序输出
void printdigits( int n )
{
if(n<10)
printf("%d\n",n);
else
{
printdigits(n/10);
printf("%d\n",n%10);
}
}
6-4单链表逆序输出
void Reverse ( LinkList L )
{
if(L!=NULL)
{
Reverse(L->next);
printf("%d ",L->data);
}
}
6-5递归求单链表最大值
LinkList MaxP( LinkList L)
{
if(!L) return NULL;
int m=L->data;
LinkList p=MaxP(L->next);
if(p&&p->data>m) return p;
else return L;
}
6-6青蛙跳台阶
#include<math.h>
int climb ( int n )
{
if(n==1) return 1;
if(n==2) return 2;
if(n==3) return 4;
if(n>=4)
return climb(n-1)+climb(n-2)+climb(n-3);
}