查错:VB中用do while计算固定步长的数据累计和的程序

来源:百度知道 编辑:UC知道 时间:2024/09/21 03:16:38
编的程序有误,如下:
Private Sub Command1_Click()
Dim m, n, s, k As Single
m = Val(Text1.Text)
n = Val(Text2.Text)
k = Val(Text3.Text)
s = 0
i = m
Do While i <= n
If k = 0 Then Exit Do
i = i + k
s = s + i
Loop
If k = 0 Then
Label1.Caption = "步长为0错"
Else
Label1.Caption = Str$(s) - 1
End If
End Sub
后来计算从1加到100结果是5150,多加了一个100.
请大家帮我找出错误在哪……

上面"疾速下载x"的方法是对的,但是我感觉你的程序不太清晰,特别是处理何时退出while循环.我按你的意图编写了一个类似的程序,希望对你有帮助,呵呵

Private Sub Command1_Click()
Dim start_lk, end_lk, step_lk, tmp_lk, j As Single
start_lk = Val(Text1.Text)
end_lk = Val(Text2.Text)
step_lk = Val(Text3.Text)
tmp_lk = 0
If i <= n Then
DoEvents
For j = start_lk To end_lk Step step_lk
tmp_lk = tmp_lk + j
Next
End If
Label1.Caption = Str$(tmp_lk)
End Sub

把语句i = i + k 和s = s + i 的位置对掉一下,然后再把Label1.Caption = Str$(s) - 1 改为Label1.Caption = Str$(s)就好了