Option Base 1
Dim c() As Single, a As Single
Private Sub Command1_Click()
Dim b As Single
a = (InputBox("请输入评委人数", , "人数"))
ReDim c(a)
For i = 1 To a
c(i) = InputBox(" 请输入第" & i & "评委的评分", , "评分")
Next i
End Sub
Private Sub Command2_Click()
Dim sum As Single, max As Single, mngin As Single
max = c(1): min = c(1) ps:这边的max=c(1)提示下标越界
If c(i) < min Then min = c(i)
If c(1) > max Then min = c(i)
For i = 1 To c(i)
sum = sum + c(i)
Next
End Sub
【目前我遇到的问题是max=c(1)提示下标越界,希望能有大佬帮我解答一下,谢谢】
你的代码有太多问题了!我帮你修改了下:
Option Base 1只是定义数组要从下标要从1开始
Dim c() As Single只是定义了一个数组空间,在内存分配了一块区域,并没有实际的值
你的程序,必须先点击按钮1,否则只是定义了个数组空间c(),并没有给数组赋值,所以你引用数据维数1,即c(1)就会报错!
Option Base 1
Dim c() As Single, a As Single
Private Sub Command1_Click()
Dim b As Single
a = (InputBox("请输入评委人数", , "5"))
ReDim c(a)
For i = 1 To a
c(i) = InputBox(" 请输入第" & i & "评委的评分", , "100")
Next i
End Sub
Private Sub Command2_Click()
Dim sum As Single, max As Single, mngin As Single, min As Single, k As Long
max = c(1): min = c(1) ' ps:这边的max=c(1)提示下标越界
k = UBound(c())
For i = 1 To k
If c(i) < min Then min = c(i)
If c(i) > max Then max = c(i)
sum = sum + c(i)
Next
Me.Cls
Print "最高分:"; max; "最低分:"; min; "总分:"; sum
End Sub