采用递归函数解决问题的思路叫做递归;
递归函数的编写步骤: 1、编写语句解决分解后的每个小问题(假设递归函数已经可以使用) 2、在递归函数开始编写分支解决不能分解的情况(这个分支必须保证函数能结束)
#include"stdio.h" #include"stdlib.h" //每走100米歇着一次,共歇7次 int step(int m,int times) { if(times == 0){} else{ m = m+100; return step(m,times-1); } } //每过一村卖鸭一半又一只 int q(int duck,int village) { if(village==0) { } else { duck = (duck+1)*2; return q(duck,village-1); } } int main(void) { //走过7个村子,余2只鸭,求共有多少只鸭子 int duck_leave = 2; int village = 7; int total_duck = q(2,7); printf("%d\n",total_duck); //歇了7次,余50步,求总路程 int m = step(50,7); printf("%d\n",m); return 0; }