vb作业 请求帮忙

复制去Google翻译翻译结果

Private Sub Command1_Click()
    On Error GoTo ErrHandle
    Dim n As Long, i As Long
    Dim num As Double
    Dim Tmp As Double
    n = Val(Text1.Text)
    '=====防止错误=====
    If n <= 0 Then MsgBox "输入错误!", vbCritical: Exit Sub
    '=====正式开始=====
    For i = 1 To n
        Tmp = 1 / i
        num = num + Tmp
    Next i
    Text2.Text = Str(num)
    Exit Sub
ErrHandle:
    MsgBox "发生错误! - " & Err.Description
End Sub

追问

为什么和图中不一样啊

追答

哦,我加了错误处理,和将数据类型变大的处理,防止溢出

当然,可以去除

Private Sub Command1_Click()
    Dim n As Integer, i As Integer
    Dim num As Double
    n = Val(Text1.Text)
    '=====防止错误=====
    If n <= 0 Then MsgBox "输入错误!", vbCritical: Exit Sub
    '=====正式开始=====
    For i = 1 To n
        Tmp = 1 / i
        num = num + Tmp
    Next i
    Text2.Text = Str(num)
End Sub

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-02-08
空白处代码:
static x as double
for i=1 to n
x=x+i
next i
sum =1/x
若要多次计算,代码最后加x=0
相似回答