问题描述
(1)商贩卖pig
一个商贩养了一批猪,有一天赶着pig去村庄卖,每经过一个村庄就卖掉所有pig的一半又一只。这样他经过了 7 个村子后还剩 2 只pig,请计算并输出他一共养了多少只pig?输出经过每个村子卖出多少只pig?
(2)电话号码对应的字符组合
在电话或者手机上,一个数字比如 2 对应着字母 ABC,7 对应着PQRS。那么数字串 27 所对应的字符的可能组合就有 3*4=12 种(如AP,BR 等)。现在输入一个 3 到 11 位长的电话号码,请打印出这个电话号码所对应的字符的所有可能组合和组合数。
问题分析
注:此处只对两个函数进行分析,且函数标号与标题一致
Void useFun1()
输入:用户需要输入商贩到第几个村庄后(vnum)还剩下多少只pig(pnum);
输出:到第几个村庄时有多少只pig,卖掉了多少只pig,最后pig总数;
主要处理过程:利用递归函数int fun1(int vnum,int pnum)计算需要输出 的数据。Void useFun2()
输入:用户只需要输入电话号码即可(标准输入为3-11)位;
输出:输入的号码对应九宫格拼音输入共有多少种组合方式,并输出这些组 合方式;
主要处理过程:利用递归函数
void fun2(int num[],int pos[],int c,int len)计算组合 方式数目并输出这些组合方式。
在主方法中调用相关函数满足用户需求即可
流程设计
源代码
1 |
|
测试
Menu测试
Function1测试
Function2测试
Exit测试
读者可以自行设计测试样例