本人有一个问题想问,请VB编程高手帮个忙!急!!!!!

来源:百度知道 编辑:UC知道 时间:2024/09/24 12:14:48
如何生成一组3行5列的随机数(数的范围是1-50)
数不能重复出现

Private Sub Command1_Click()
Randomize
For i = 1 To 3
For j = 1 To 5
Print Int(Rnd * 49) + 1,
Next
Print
Next
End Sub

你问题补充了.,我也只能修改了
Private Sub Command1_Click()
'定义一个数组,用来保存1-50的数
Dim a(1 To 50) As Integer
For i = 1 To 50
a(i) = i
Next
n = 49

Randomize
For i = 1 To 3
For j = 1 To 5
su = Int(Rnd * n) + 1
Print a(su), '也可以赋值一个维数组,用来保存
a(su) = a(n + 1) '选中的数用最后的数代替,这样就不重复了
n = n - 1 '数组减少一个
Next
Print '换行
Next

End Sub

较愚蠢的做法:
两层循环,外层先生成,再在内层循环中实现检查此数,若出现过则返回(用GoTo),直到不出现为止

for i=0 to 2
for j=0 to 4
a[i][j]=getrandom
next
next

function getrandom
getrandom=rnd*49+1
end function