VB的循环问题

来源:百度知道 编辑:UC知道 时间:2024/06/25 10:58:28
Private Sub Form_Click()
Dim s As Double
Show
Cls
Label1.Caption = ""
Label2.Caption = ""
Num = Val(InputBox("你输入的是"))
Label1.Caption = "你输入的是" & Num
If Num >= 0 And Num <= 20 Then
factor = factorial(Num)
Label2.Caption = Format(Num) & "的阶乘为:" & Format(factor)
End If
End Sub
假定窗体有2个对象Label1和Label2
if end if 也可以想for一样循环?
上面的代码是求0-20的阶乘 是什么原因呢?

1、以上语句只运行一次的,不是循环语句,每点击窗体一次,代码就运行一次。

2、if..end if是分支语句,不能循环。

3、在以上代码中,factorial()是用户自定义的算阶乘的函数,调用该函数算出输入的num的阶乘,你可以在该程序代码中找到这个函数(包括模块中)。该求阶乘的函数是比较简单的,这个函数本身包含了一个循环。看以下我自己写的算阶乘的函数jc(),其中就包含循环:
Public Function Jc(n As Integer)
Dim tmp As Double
tmp = 1
For i = 1 To n
DoEvents
tmp = tmp * i
Next i
Jc = tmp
End Function

以上是我写的算阶乘的函数,如jc(5),就是算5的阶乘。

4、if Num >= 0 And Num <= 20 then 这句限制了只求 0-20的阶乘。

关键函数
factorial(Num)