早教吧 育儿知识 作业答案 考试题库 百科 知识分享

vb计算下列公式之和,要求最后一项小于1/100000,1-1/5+1/10-1/17+-------通向公式为(-1)^(n-1)/n^2+1DimsAsDouble,tAsDouble,i%s=0.5t=0DoWhilet>1/100000i=i+1t=(-1)^(i-1)/i^2+1s=s+tIfAbs(t)<1

题目详情
vb计算下列公式之和,要求最后一项小于1/100000,1-1/5+1/10-1/17+ -------通向公式为 (-1)^(n-1)/n^2+1
Dim s As Double, t As Double, i%
s = 0.5
t = 0
Do While t > 1 / 100000
i = i + 1
t = (-1) ^ (i - 1) / i ^ 2 + 1
s = s + t
If Abs(t) < 100000 Then
Exit Do
End If
Loop
MsgBox s
以上代码哪儿错了
▼优质解答
答案和解析
'0.5+1/2-1/5+1/10-1/17
'(-1)^(n-1)/n^2+1
Dim s As Double, x As Double, n As Integer
n = 0
s = 0.5
Do
n = n + 1
x = (-1) ^ (n - 1) / (n ^ 2 + 1)
s = s + x
If Abs(x) < (1 / 100000) Then Exit Do
Loop
MsgBox s
你那段错误比较多……
1、开始t=0 < 1/100000,所以循环while t > 1 / 100000 跟本进不去,另外i没有赋初值,虽然默认值0是没错的
2、循环内部t= (-1) ^ (i - 1) / i ^ 2 + 1 少了括号,使得t永远>1,造成死循环,按题目t=(-1) ^ (i - 1) / (i ^ 2 + 1)
3、循环跳出的条件Abs(t) < 100000是误写错了吧,应该是Abs(t) < 1/100000