问一个VB题目

建立一个VB应用程序,创建工程vb3.vbp和窗体vb3.frm文件,生成可执行文件vb3.exe,保存路径均为B:\VB3\ 目录。要求利用随机函数随机产生10个10~99的随机整数,利用数组将它们从小到大以及从大到小排列并显示,并显示平均数。

Private Sub Form_Click()
Dim a(10), b(10) As Integer
Print "原始数据:";
For i = 1 To 10
a(i) = Int(Rnd * 90) + 10
b(i) = a(i)
Print a(i);
Next i
Print
For i = 1 To 9
For j = i + 1 To 10
If a(j) > a(i) Then m = a(i): a(i) = a(j): a(j) = m
If b(j) < b(i) Then n = b(i): b(i) = b(j): b(j) = n
Next j
Next i
Print "从大到小:";
For i = 1 To 10
Print a(i);
Next i
Print
Print "从小到大:";
For i = 1 To 10
Print b(i);
Next i
Print
Print
End Sub

不是只要10个数字,那 Dim a(10), b(10) As Integer不是上界默认为0,变成11个了吗,但是显示出来的还是10个数字?

dim a(10 确实是包含0到10,这11个元素, 可是无论赋值,还是排序,还是最后使用print来显示,都只是从1到10, 而忽略 了a(0)这个元素呵..
所以仍然只有10个数,因为有一个从来没用呵
温馨提示:答案为网友推荐,仅供参考
第1个回答  2007-12-23
越难的你越清楚,越简单的地方却不知道怎么回事了 :)

For i = 1 To 10 改为

For i = 0 To 10

For i = 1 To 9 改为

For i = 0 To 9
第2个回答  2007-12-23
你也可以这样定义
dim a(1 to 10)
这样就可以啦