VB随机数为一个数组,但不知道怎么定义数组下标

VB随机数为一个数组,但不知道怎么定义数组下标
如下面的代码:
Private Sub Command1_Click()
b = InputBox("输入随机数的个数-1")
Dim a()
Randomize:Text1 = ""
For i = 0 To b
a(i) = Int(Rnd * 5 + 1)
For j = 0 To i
If i j And a(i) = a(j) Then i = i - 1:Exit For
Next j,i
For i = 0 To 4
Text1 = Text1 & a(i) & " "
Next
End Sub
如运行,会出现下标越界,如把dim a() 写成 dim a (b)又要求常数表达示,写成dim a (uboun(a)) 也不行,只有手动写成4````````郁闷,我要求是inputbox时让b=4就这么简单,怎么就不行呢?请指教一下,要怎么定义这个a的下标啊?
4只是假如,可能输入321````怎么弄啊````
蓁茗 1年前 已收到1个回答 举报

buxiaosheng 幼苗

共回答了25个问题采纳率:92% 举报

Private Sub Command1_Click()
Dim i%, j%, b%, a%() '定义变量
b = InputBox("输入随机数的个数-1")
If b < 1 Then Exit Sub
ReDim a(b) '注意,用redim
Randomize: Text1 = ""
For i = 0 To b
a(i) = Int(Rnd * (b + 1) + 1) '太小会死循环的噢.

For j = 0 To i
If i j And a(i) = a(j) Then i = i - 1: Exit For '使用排序可能更合适!数字大了会很慢的,不建议使用剔除法!
Next j, i
For i = 0 To b
Text1 = Text1 & a(i) & " "
Next
End Su

1年前

1
可能相似的问题
Copyright © 2024 YULUCN.COM - 雨露学习互助 - 16 q. 0.030 s. - webmaster@yulucn.com