菜鸟捉虫(21)

Author: Date: 2001年 21期

?牐牭?19期“菜鸟捉虫”正确答案:
  ?牐犛捎谑乔蟠?10个数中任选5个数出来的组合(程序中用的是从10~6的数相乘,即展开式为:10×9×8×7×6)。由于要求采用递归调用,在递归函数中必须要有返回值的记录(当然,递归函数的编写方法不止这一种),而此程序的递归调用部分没有起到相应的作用,所以,错误都出递归函数Recursion中,共有3处。修改后的程序如下:
  ?牐燩rivate Function Recursion(ByVal ValNum As Integer,ByVal Value As Integer) As Long
  ?牐燫ecursion = ValNum '//错误1(无此行)??
  ?牐燰alue = Value - 1 '//错误2(无此行)
  ?牐牬砦?3 原为If Value >= 1 Then Recursion = Recursion*Recursion(ValNum - 1, Value - 1)
  ?牐營f Value >= 1 Then Recursion = Recursion*Recursion(ValNum - 1, Value)
  ?牐燛nd Function
  ?牐犚韵率堑? 19 期“菜鸟捉虫”幸运读者名单(奖品为《电脑报配套光盘》2001年第6期)
  ?牐犞厍?  金胜华  上海  陈逸凡
  ?牐犔旖?  王连成  天津  郑海龙
  ?牐牨酒谔饽浚?
  ?牐犗钟幸怀绦颍涔δ苁亲龀ㄔ怂恪5诵谐绦颍吹玫揭馔獾慕峁G胝页銎渲械拇砦蟆3绦蛑泻幸桓鯟ommandButton和三个TextBox 控件,其中Text1为除数输入框,Text2为被除数输入框,答案在Text3中显视。
  ?牐爌rivate sub command1_click?煟?
  ?牐燿im A as Integer,B as Integer,Result as Integer
  ?牐爋n error goto Loop1
  ?牐燘egin:
  ?牐燗=text1.text
  ?牐燘=text2.text
  ?牐爎esult=A/B
  ?牐爐ext3.text=result
  ?牐爀nd sub
  ?牐爌rivate sub ErrorFunc?煟?
  ?牐燣oop1??
  ?牐爉sgbox "除数不能为零"
  ?牐爎esume Begin
  ?牐爀nd sub
  ?牐牐ㄎ阌诩乃徒逼罚氩渭印白匠妗钡亩琳吒缴险媸敌彰拖晗竿ㄑ兜刂罚?