Private Sub Command1_Click()
Dim x(10) As Integer, y() As Integer
Dim i As Integer, s As Integer, n As Integer
Dim max As Integer, min As Integer
Print "原始数组:"
For i = 1 To 10
x(i) = Val(InputBox("请输入第" & i & "个数"))
Print x(i);
If i Mod 5 = 0 Then Print
Next
Print "正数数组:"
For i = 1 To 10
If x(i) > 0 Then
n = n + 1
ReDim Preserve y(n)
y(n) = x(i)
s = s + y(n)
If n = 1 Or max < y(n) Then max = y(n)
If n = 1 Or min > y(n) Then min = y(n)
Print y(n);
If n Mod 5 = 0 Then Print
End If
Next
Print "正数和="; s
Print "正数个数="; n
Print "正数最大="; max
Print "正数最小="; min
End Sub
病情分析:
你好,根据你的描述这种情况需要及时治疗。
指导意见:
首先需要找出引起发热的病因,建议及时去医院做一个血项检测,分清细菌感染或者病毒感染,对症治疗。
If x(i) > 0 Then
n = n + 1
y(n) = x(i)
s = s + y(n)
End If
这个语句上面 i的值已经是11了,到这里当然超出范围
Print "正数数组:"
Print
If x(i) > 0 Then
n = n + 1
y(n) = x(i)
s = s + y(n)
End If
Print y(n);
If n Mod 5 = 0 Then Print
在这里,你的i在for循环后,i已经为11, If x(i) > 0 Then。 x(i)已经越界。
y(n) = x(i), x(i)已经越界。
我看,你可能是想把这段放到for循环里。