一组数据连续相加,如果一个小于0,停止相加,把大于0的数相加
如:a+b+c+d+e+f
如果e小于0,停止相加,把大于0的数(a,b,c,d)相加
如:a+b+c+d+e+f
如果e小于0,停止相加,把大于0的数(a,b,c,d)相加
解决方案 »
- VB关于虚拟桌面FindWindow,无法获取句柄的问题
- vb问题 谁能帮帮我~~~
- winsock如何登录一个网站?
- 我发给某个人邮箱的邮件,我还能不能把它从某个人的邮箱中删除?因为发错了呀!话说的不好听呀!怕那个人不理解骂我呀!
- 怎么得到文本框中文字的宽度值 是多少?
- Rdo连接问题!
- 如果使原来的程序支持AutoCAD R14升级为支持AutoCAD 2000或以上版本?
- 菜鸟级问题,高手莫笑。。。
- 请问在VB中,哪个函数可以得到当前年份和月份?
- 几个关于数组和路径显示问题。
- 怎么把access数据库的自动编号类型转换成字串
- {{散分}} 终于又找到一个散分的理由了------CSDN把最短回复取消了,应该散下分吧~~~~
Dim a(5) As Integer
Dim i As Integer
Dim sum As Integer
a(0) = 1
a(1) = 2
a(2) = 4
a(3) = 55
a(4) = -10
a(5) = 133
For i = 0 To 5
If a(i) < 0 Then
Exit For
Else
sum = sum + a(i)
End If
Next
MsgBox "数组的和为:" & sum
End Sub
1、防止溢出,把Dim sum As Integer改为Dim sum As Long
2、如果数组上下标未知时,可把For i = 0 To 5 改为for i=lbound(a) to ubound(a)
Exit For
Else
sum = sum + a(i)
End If 改成:If a(i) > 0 Then
sum = sum + a(i)
End If
Dim a()
Dim i As Integer
Dim sum As Integer a = Array(1, 2, 3, 4, 5, -12, -7, 89, 990)
sum = 0
For i = LBound(a) To UBound(a)
If a(i) >= 0 Then
sum = sum + a(i)
Else
Exit For
End If
Next
MsgBox "数组的和为:" & sumEnd Sub