VB编程“求1到1000以内所有奇数之和”(do while 结构)

Private Sub Command1_Click()
Dim i As Integer
Dim s As Integer
s = 0: i = 0
If i Mod 2 = 1 Then
Do While i > 1000
i = i + 1: s = s + i
Loop
End If
Print "计算1至1000之间的奇数之和为:"; s
End Sub
————————————————————————————————————
编了一个这样的得出和为0,求解问题何在?

第1个回答  2013-02-11
先把代码发出来,等会在评论中给你解释吧。复制粘贴以下代码:
Option Explicit
Private Sub Command1_Click()
Dim i As Long
Dim s As Long
s = 0
i = 0
Do While i < 1000
i = i + 1
If i Mod 2 = 1 Then
s = s + i
End If
Loop
Print "计算1至1000之间的奇数之和为:"; s
End Sub
看运行结果吧
第2个回答  推荐于2017-12-15
Private Sub Command1_Click()
Dim i As Integer
Dim s As Integer
s = 0: i = 0
Do While i <= 1000
i = i + 1:
If i Mod 2 = 1 Then
s = s + i
End If
Loop
Print "计算1至1000之间的奇数之和为:"; s
End Sub
没有学过VB但是楼主的程序确实存在问题,这样改一下应该差不多了,对于楼上说的溢出问题就要看整形数的表示范围了。本回答被提问者和网友采纳
第3个回答  2013-02-11
这个题目不需要IF语句的。S定义为Integer会溢出的。
Private Sub Command1_Click()
Dim i As Integer
Dim s As Long
s = 0: i = 1
Do While i < 1000
s = s + i: i = i + 2
Loop
Print "计算1至1000之间的奇数之和为:"; s
End Sub

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网