vb do while loop的问题

来源:百度知道 编辑:UC知道 时间:2024/09/22 11:53:05
Private Sub Command1_Click()
Dim a, b, s, i As Integer
a = Text1.Text
b = Text2.Text
s = 0
i = a
Do While i <= b
s = s + i
i = i + 1
Loop
MsgBox "计算结果为:" & s

End Sub

Private Sub Command1_Click()
Dim a, b, k, s, i As Integer
a = Text1.Text
b = Text2.Text
k = 0
s = 0
i = a
Do While i <= b
k = k + s
s = s + i
i = i + 1
Loop
MsgBox "计算结果为:" & k

End Sub
有什么区别

区别就在于msgbox显示的计算结果,第一段显示的计算结果为s变量值,第二段显示的计算结果为k变量值。

因为用while语句进行了循环,所以s保存的数值是对i的值进行累加,而k保存的数值是对s的值进行累加,比如

第一次循环后,k=0,s=1,i=1
第二次循环后,k=1,s=2,i=2
第三次循环后,k=3,s=4,i=3
第四次循环后,k=7,s=7,i=4
……
……

if text1.text=1
没什么差别,第二个比第一个多了一个过渡的s
end if

if text2.text=2
There's a different on the result. k+2 and s+1, see different???
end if

区别:输出结果不一样。
第一个,初值大,递增慢
第二个,初值小,递增快

第一个结果是:s=a+a+1+a+2+.....+b
第二个结果是k=0+a+a+1+a+2.....+b-1
区别是第二个是从0开始加的但加到b-1就停了这是因为i=b+1了,而k始终是慢拍,你自己体会下!