这道VB题怎么做~!

来源:百度知道 编辑:UC知道 时间:2024/06/28 15:02:44
求1-(1/2)+(1/3)-(1/4)+(1/5).......+(1/99)-(1/100)的和~!
我写的代码是
Dim x,y sum As Integer
x=1
For y=1 To 100
Sum=Sum+(1/Y)*x
x=-x
Next y
Print Sum

老师说5分的话最多能得3分~!郁闷~!
请问怎么改才能得满分?

你的错误,关键在于Sum,你这里不能用整型数据来表示,很明显,应该用单精度或双精度,应该这样

Dim X As Integer, Sum As Double
For X = 1 To 100
Sum = Sum - (-1) ^ X / X
Next
Print Sum

“Dim x,y sum As Integer ”,这种声明格式是错误的,你应该写成
Dim x As Integer,y As Integer,sum As Integer
否则,VB程序运行中,只会把sum看成是Integer类型,x与y则不是Integer类型,是程序默认的数据类型--Object类型,这样会导致最后运行结果错误
这是一点,其次,你应该把sum声明为:single类型

把-1放到循环里进行判断不就得了?
把变量换为常量试试看。
3分就不错了,这题目给我做最多一分(前提是你们老师判分!)

Dim i(1 To 7) As Integer
Private Sub A()

Do While i(1) <> 8
DoEvents
If i(1) <> i(2) And i(2) <> i(3) And i(3) <> i(4) And i(4) <> i(5) And i(5) <> i(6) And i(6) <> i(7) Then showit
i(7) = i(7) + 1
If i(7) = 8 Then
i(7) = 1
i(6) = i(6) + 1
End If

If i(6) = 8 Then
i(6) = 1
i(5) = i(5) + 1
End If

If i(5) = 8 Then
i(5) = 1
i(4) = i(4) + 1
End If

If i(