一、设计题目 猴子吃桃子问题 有一群猴子摘了一堆桃子,他们每天都吃当前桃子的一半且再多吃一 个,到了第 10 天就只余下一个桃子
用多种方法实现求出原来这群猴子共摘了多少个桃子
二、运行环境(软、硬件环境) VC++6
0 PC 电脑一台 三、算法的需求分析 1) 采用数组数据结构实现上述求解 2) 采用链数据结构实现上述求解 3) 采用递归实现上述求解 4) 如果采用 4 种方法者,适当加分 //用户界面 int Desk(int n) { printf("**************************************************\n"); printf("| 欢迎进入猴子吃桃子系统 |\n"); printf("| 1-数组法 2-链表法 3-递归法 4-二叉树法 5-退出 |\n"); printf("***************************************************\n"); printf("请输入要选择的方法: "); scanf("%d",&n); getchar(); system("cls"); //刷新屏幕 while(n5) { printf("***输入错误
请重新输入***\n"); scanf("%d",&n); } return n; } 四、算法概要设计 //采用链数据结构 (栈) 实现上述求解 typedef struct { int *top; int *base; }stack; //初始化一个栈 stack Init(stack *s) { s->base=(int *)malloc(STACK_SIZE*sizeof(int)); if(s->base == NULL) { printf("Init failed
\n"); exit(-1); } s->top =