一个VB问题!!!!!!!!俺是新手!

来源:百度知道 编辑:UC知道 时间:2024/05/15 09:12:44
求1/1^2+1/2^2.....1/n^2的值,直到最后一项>=0.0001的值。
Private Sub Form_Click()
n = 1: Sum = 0
Do
term = 1 / (n * n)
Sum = Sum + term
n = n + 2
Loop Until term <= 0.0001
Form1.FontSize = 12
CurrentY = 200
Print "jieguo:"; Sum
Print "zuihouyige:"; term

End Sub

DO循环里面是先执行循环体在判断把!? 当term的值大于0.0001的最大一项时,判断until条件成立,继续循环。。 然后term的值就小于0.0001,sum的值把term小于0.0001的值也加进去了啊! 是不是有点问题啊?

是有问题,一般是这样解决的:
Private Sub Form_Click()
n = 0: Sum = 0 : term=0
Do
Sum = Sum + term
n = n + 1
term = 1 / (n * n)
Loop Until term <= 0.0001
Form1.FontSize = 12
CurrentY = 200
Print "结果是:"; Sum
Print "未加的第一项是:"; term
End Sub

这样行不?

Private Sub Form_Click()
n = 1: Sum = 0
Do While term <=0.0001
term = 1 / (n * n)
Sum = Sum + term
n = n + 2
Loop
Form1.FontSize = 12
CurrentY = 200
Print "jieguo:"; Sum
Print "zuihouyige:"; term

End Sub