关于VB的一个小问题.

来源:百度知道 编辑:UC知道 时间:2024/05/15 18:44:19
[我看不出有什么问题,怎么运行时就死循环呢?]是计算1-1/3+1/5-1/7....这样的结果,希望哪位高手能帮忙,谢谢.

Private Sub Command1_Click()
start:
x = InputBox("请输入一个数字:", "输入")
If x = "" Then
GoTo start
End If
h = 0
k = 1
For i = 1 To x Step 2
i = i * k
h = h + 1 / i
k = -k
Next i
print h
End Sub

问题出在了i=i*k,如此i不会向你想的递增的:
其次你定义了x 是字符串变量,放在for循环中也不合适.
建设改为:
For i = 1 To CInt(x) Step 2
s = i * k
Debug.Print i
h = h + 1 / s
k = -k
Next i