VB问题:随机产生10个任意的二位正整数存放在一维数组中

随机产生10个任意的二位正整数存放在一维数组中,求数组的最大值、平均值、能实现将数据升序排列,并且使用InputBox函数插入一个新数据,使数组仍然按升序排列,结果显示在图片框中,程序运行情况如下所示。
例如:
(左边) (右边)
产生的一维数组为: 产生随机数
37 70 42 44 72 58 92 52 42 11

第7个元素92为最大元素 求最大值

产生的随机数平均值为:52 求平均值

排序后的一维数组为: 升序排列
11 37 42 42 44 52 58 70 72 92

插入后的一维数组为: 插入新数据
11 37 42 42 44 50 52 58 70 72 92

左边为按钮text 右边为command 按钮

一定要可以运行的程序 要有完整的程序段

第1个回答  推荐于2016-04-25
'command 按命名为command1,加入以下代码

Private Sub Command1_Click()
Dim Mynb() As Integer
ReDim Mynb(10)
For n = 1 To 10
Mynb(n - 1) = Int(Rnd * 100)
Picture1.Print Mynb(n - 1); Spc(1);
Next
Picture1.Print
For m = 0 To 8
For k = 0 To 8
If Mynb(k) > Mynb(k + 1) Then
Mmk = Mynb(k)
Mynb(k) = Mynb(k + 1)
Mynb(k + 1) = Mmk
End If
Next
Next

For q = o To 9
lp = lp + Mynb(q)
Next

Picture1.Print "平均值为"; lp / 10
Picture1.Print "最大值为"; Spc(1); Mynb(9)
Picture1.Print "最小值为"; Spc(1); Mynb(0)
Picture1.Print
Picture1.Print "升序排列"
For h = 0 To 9
Picture1.Print Mynb(h); Spc(1);
Next

Picture1.Print
ReDim Preserve Mynb(11)
Mynb(10) = InputBox("输入数据")

For m2 = 0 To 9
For k2 = 0 To 9
If Mynb(k2) > Mynb(k2 + 1) Then
Mmk = Mynb(k2)
Mynb(k2) = Mynb(k2 + 1)
Mynb(k2 + 1) = Mmk
End If
Next
Next
Picture1.Print "重新排列"

For h2 = 0 To 10
Picture1.Print Mynb(h2); Spc(1);
Next h2

End Sub本回答被提问者采纳