VB求1到N的阶乘

编写程序求S=1!+2!+3!+···+n!,n的值由键盘输入,n<13

Dim n, i, j As Integer, S, Si As LongDo While .T. n = InputBox("请输入小于13的数", "n=", 0)
If n >= 13 Then
MsgBox ("请重新输入小于13的数据") Else Exit Do End IfEnddoS = 0For i = 1 To n Si = 1 For j = 2 To i Si = Si * j Next
S = S + SiNext
Print "S = 1!+2!+3!+···+n! = "; Format(S)
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-12-09
' 上述答案中循环语句有误,应作如下修改:' (1) Do While .T. 改为 Do' (2) End Do 改为 Loop' 完整程序代码如下:Dim n, i, j As Integer, S, Si As Long
Do
n = InputBox("请输入小于13的数", "n=", 0)
If n >= 13 Then
MsgBox ("请重新输入小于13的数据")
Else
Exit Do
End If
LoopS = 0
For i = 1 To n
Si = 1
For j = 2 To i
Si = Si * j
Next
S = S + Si
Next
Print "S = 1!+2!+3!+···+n! = "; Format(S)
第2个回答  2013-12-09
Private Sub Command1_Click()
Dim x As Integer, s As Long, y As Integer, sum As Long
x = InputBox("请输入小于13的数据", "输入数据", 0)
s = 1
sum = 0If x >= 13 Then
MsgBox ("请重新输入小于13的数据")
End IfFor i = 1 To x
s = s * i '计算阶乘的算法
sum = sum + s 累加求和的算法

Next i
Print sum
End Sub
第3个回答  2013-12-09
Private Sub Form_Click()
s# = 1
n% = Val(InputBox("请输入n", "提示"))
For i = 1 To n
s = s * i
Next
Print n & "的阶乘是:" & s
End Sub
第4个回答  2013-12-09
dim a,b,c as integerinputbox("请输入你的数字",a) for a to 1 b=a-1 for b to 1 c+=b*(b-1)nextnext