VB随机生成由两位正整数所构成的4行5列的二维数组,求与之对应的标记数组.

随机生成由两位正整数所构成的4行5列的二维数组,求与之对应的标记数组。若数组元素的值大于数组元素的平均值,则标记为"H",若小于平均值,则标记为"L",若等于则标记为"E"。具体要求: 1、窗体界面由2个文本框和3个命令按钮组成,请参照参考界面完成所有对象的属性设置; 2、单击"生成数组"按钮,在左侧文本框中显示4行5列的数组; 3、单击"标记数组"按钮,在右侧文本框中显示标记数组; 4、单击"清除"按钮,将两文本框清空,并给"生成数组"按钮设置焦点。
求大神解答~~~

Dim ary(4, 5) As Integer

Dim mark(4, 5) As String

Dim sum As Integer

Dim avg As Integer


Private Sub Command1_Click()

For i = 0 To 3

  For j = 0 To 4

    Randomize Timer

    ary(i, j) = Int(89 * Rnd + 10) '10-99

    sum = sum + ary(i, j)   '和

    Text1.Text = Text1.Text & ary(i, j) & "    "

  Next j

  Text1.Text = Text1.Text & vbCrLf

Next i

avg = sum / 20  '平均数

End Sub


Private Sub Command2_Click()

For i = 0 To 3

  For j = 0 To 4

    If ary(i, j) > avg Then mark(i, j) = "H"

    If ary(i, j) = avg Then mark(i, j) = "E"

    If ary(i, j) < avg Then mark(i, j) = "L"

    Text2.Text = Text2.Text & mark(i, j) & "    "

  Next j

    Text2.Text = Text2.Text & vbCrLf

Next i

End Sub


Private Sub Command3_Click()

Text1.Text = ""

Text2.Text = ""

sum = 0

avg = 0

Command1.SetFocus

End Sub


Private Sub Form_Load()

'Text1.MultiLine = True    '在窗体主设计中将多行设为TRUE

'Text2.MultiLine = True

Text1.Text = ""

Text2.Text = ""

End Sub

追问

明明有for语句为什么显示错误?

然后数组显示的也不是4行5列

追答

要写成 If ary(i, j) > avg Then mark(i, j) = "H"
而不是 If ary(i, j) > avg Then
mark(i, j) = "H"
如果换行就要加 ENDIF

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-04-22
你好,
这种情况考虑与钙片刺激胃肠道有关.建议饭后服用