菜鸟捉虫(21)

第19期“菜鸟捉虫”正确答案:
   由于是求从10个数中任选5个数出来的组合(程序中用的是从10~6的数相乘,即展开式为:10×9×8×7×6)。由于要求采用递归调用,在递归函数中必须要有返回值的记录(当然,递归函数的编写方法不止这一种),而此程序的递归调用部分没有起到相应的作用,所以,错误都出递归函数Recursion中,共有3处。修改后的程序如下:
   Private Function Recursion(ByVal ValNum As Integer,ByVal Value As Integer) As Long
   Recursion = ValNum '//错误1(无此行)
   Value = Value - 1 '//错误2(无此行)
   错误3 原为If Value >= 1 Then Recursion = Recursion*Recursion(ValNum - 1, Value - 1)
   If Value >= 1 Then Recursion = Recursion*Recursion(ValNum - 1, Value)
   End Function
   以下是第 19 期“菜鸟捉虫”幸运读者名单(奖品为《电脑报配套光盘》2001年第6期)
   重庆 金胜华 上海 陈逸凡
   天津 王连成 天津 郑海龙
   本期题目:
   现有一程序,其功能是做除法运算。但运行程序,却得到意外的结果。请找出其中的错误。程序中含有一个CommandButton和三个TextBox 控件,其中Text1为除数输入框,Text2为被除数输入框,答案在Text3中显视。
   private sub command1_click
   dim A as Integer,B as Integer,Result as Integer
   on error goto Loop1
   Begin:
   A=text1.text
   B=text2.text
   result=A/B
   text3.text=result
   end sub
   private sub ErrorFunc
   Loop1
   msgbox "除数不能为零"
   resume Begin
   end sub
   (为便于寄送奖品,请参加“捉虫”的读者附上真实姓名和详细通讯地址)