第1个回答 2013-09-04
Public Function fJC(ByVal n As Integer) As Long
Dim JC As Long
If n < 0 Then
JC = -1 '表示负数没有阶乘
ElseIf n = 0 Then
JC = 1 '0的阶乘=1
ElseIf n > 0 Then
On Error GoTo errHandel
JC = 1
For i = 1 To n
JC = JC * i
Next
End If
fJC = JC
Exit Function
errHandel: fJC = -2 '表示数据过大,造成溢出
End Function
第2个回答 2013-09-04
Dim n As Long
Dim i As Long
Dim s As Long
n = 6
s = 1
For i = 1 To n
s = s * i
Next
Debug.Print(s)
楼上的那个在n=0 的时候结果不对本回答被网友采纳
第3个回答 2013-09-04
Dim n As Integer
Dim i As Integer
n = 5
For i = n - 1 To 1 Step -1
n = n * i
Next
试一下吧,是for循环不会用吧~