递归,就是在运行过程中不断调用自己,
一个人赶着鸭子去每个村庄卖,每经过一个村子卖去所赶鸭子的一半又一只。这样他经过了七个村子后还剩两只鸭子,问他出发时共赶了多少鸭子?经过每个村子卖出多少只鸭子?
#include<stdio.h>
double fun(int n)
{
double m;
if(n==7)
{
m=2;
}
else
{
m=(fun(n+1)+1)*2;
}
return m;
}
int main()
{
printf("第七个=%lf\n",fun(7));
printf("第6个=%lf\n",fun(6));
printf("第5个=%lf\n",fun(5));
printf("第4个=%lf\n",fun(4));
printf("第七个=%lf\n",fun(3));
printf("第七个=%lf\n",fun(2));
printf("第七个=%lf\n",fun(1));
printf("总有=%lf\n",fun(0));
return 0;
}