请VB高手用利用递归写下程序...跪求!

来源:百度知道 编辑:UC知道 时间:2024/07/06 17:44:49
1!+2!+3!+4!+...+N!
要求用到递归呢,第六章没好好学,不会写呢~...

窗体上放一个文本框用地输入N值,放一个标签用于显示结果,放一个按钮用于执行:
private sub command1_click()
Dim i As Integer
For i = 1 To CInt(TextBox1.Text)
Label1.caption = Val(Label1.caption) + high(i)
Next
End Sub

Function high(ByVal n As Integer) As Long
If n <= 1 Then
high= 1
Else
high= n * high(n - 1)
End If
end function
已通过测试!记住N值不可输入太大,因为这个结果的递增是非常快的,很快它的值就会超出数据类型值的存储范围,那样就会运行时出错!

Function StepMult(ByVal n)
--If n < 2 Then
----StepMult = n
--Else
----StepMult = StepMult(n-1) * n
--End If
End Function

Function SumStep(ByVal n)
Dim sum
--For i = 1 To n
----sum = sum + StepMult(i)
--Next For
--SumStep = sum
End Function

把 '-' 去掉,为了缩进方便看的

VB语法不是很熟悉,程序都是相通的,同一个算法,用任何语言都可以写的。因为语言只是一个表达思想的工具。