sub jc(byref n as integer)for i=n-1 to 2 step -1 n=n*inextend sub用的时候 call jc(被操作的数,结果将直接作用再数上)建议用函数来做function fjc(byval n as integer) as integerfjc = nfor i = n-1 to 2 step -1fjc=fjc*inextend function用的时候就和系统函数一样,,数据类型用integer可能太小的。。。也可以改双精度。。。
Dim s As Double, sun As Double, i As Integer, n As IntegerPrivate Sub Form_Load()Text1 = ""n = 10s = 1Call jcEnd SubPrivate Sub jc()For i = 1 To ns = s * isun = sun + sText1.Text = Text1.Text & CStr(i) & "!=" & CStr(s) & ""NextText2.Text = "阶乘和=" & CStr(sun)End Sub
Private Sub Command1_Click()Dim i As IntegerFor i = 1 To 12
Print JiechengHe(i)Next iEnd Sub'求阶乘Private Function JieCheng(n As Integer) As LongDim i As Integer, sum As LongIf n < 0 Then
JieCheng = -1ElseIf n = 0 Or n = 1 Then
JieCheng = 1Else
sum = 1
For i = 2 To n
sum = sum * i
Next i
JieCheng = sumEnd IfEnd Function'求阶乘之和Private Function JiechengHe(n As Integer) As LongDim i As Integer, sum As LongIf n < 0 Then
JiechengHe = -1ElseIf n = 0 Or n = 1 Then
JiechengHe = 1Else
sum = 1
For i = 2 To n
sum = sum + JieCheng(i)
Next i
JiechengHe = sumEnd IfEnd Function结束...