第1个回答 2007-11-10
Private Sub Form_click()
Dim a(1 To 3000) As Integer, n As Integer
Dim wei As Integer, jinwei As Integer, w As Integer
n = InputBox("请输入一个小于1000的正整数以计算其阶乘", "输入框")
wei = 1
For i = 1 To 3000
a(i) = 1
Next
For i = 2 To n
jinwei = 0
For j = 1 To wei
w = a(j) * i + jinwei
a(j) = w Mod 10
jinwei = Int(w / 10)
Next j
Do While jinwei > 0
wei = wei + 1
a(wei) = jinwei Mod 10
jinwei = jinwei \ 10
Loop
Next i
Print n; "的阶乘共"; wei; "位"
nn = wei - 30
Do
For i = wei To nn Step -1
Print a(i);
Next
Print
wei = nn - 1
nn = wei - 30
Loop While nn > 1
For i = wei To 1 Step -1
Print a(i);
Next
End Sub