标题菜鸟捉虫(21)
栏目软件世界
发布2001年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
(为便于寄送奖品,请参加“捉虫”的读者附上真实姓名和详细通讯地址)