一、赶鸭子问题:一个人赶着鸭子去村庄卖,每经过一个村子卖出一半又一只,经过七个村庄后还剩下两只鸭子,问出发时共赶了多少只鸭子
#include <stdio.h>
int duck_num(int country_num)
{
if(country_num==8)
return 2;
else
return (duck_num(country_num+1)+1)*2;
}
int main(int argc, const char *argv[])
{
int i;
printf("出发时的鸭子数为%d\n",duck_num(1));
return 0;
}
//运行结果
出发时的鸭子数为510
二、终端输入一个数,使用递归输出他的每一位,按位数从高到低输出,要求递归函数不能有返回值 void fun(int n);终端输入“1234” ,1 2 3 4
void fun(int num)
{
if(num!=0)
{
fun(num/10);
printf("%d\n",num%10);
}
}
#include <stdio.h>
int main()
{
fun(1234);
}
//运行结果
1
2
3
4
三、整理思维导图图