关于vb的问题,评分的

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

温馨提示:答案为网友推荐,仅供参考
相似回答