一个简单的问题(随机数)

yanganquan 2004-09-28 12:33:54
怎样产生10个8到99的随机数
...全文
116 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
yanganquan 2004-09-28
  • 打赏
  • 举报
回复
难道这个简单的问题都没有人回答的上来嘛
知道的大虾告诉我一声撒 谢谢 第一个给答案的人给20分
vbman2003 2004-09-28
  • 打赏
  • 举报
回复
这样产生10个8到99的随机数,不会重复

  Dim iColl As New Collection
Dim i, iTemp As Long
For i = 8 To 99
iColl.Add i
Next i
Randomize
For i = 1 To 10
itemp = Int(Rnd * iColl.Count) + 1
Debug.Print iColl(iTemp)
iColl.Remove iTemp
Next i
Set iColl = Nothing
踏平扶桑 2004-09-28
  • 打赏
  • 举报
回复
//MSDN

为了生成某个范围内的随机整数,可使用以下公式:

Int((upperbound - lowerbound + 1) * Rnd + lowerbound)

这里,upperbound 是随机数范围的上限,而 lowerbound 则是随机数范围的下限。

注意 若想得到重复的随机数序列,在使用具有数值参数的 Randomize 之前直接调用具有负参数值的 Rnd。使用具有同样 number 值的 Randomize 是不会得到重复的随机数序列的。
officecn 2004-09-28
  • 打赏
  • 举报
回复
楼上正解
tztz520 2004-09-28
  • 打赏
  • 举报
回复
Private Sub Command1_Click()
Randomize
Dim i As Integer
List1.Clear
For i = 1 To 10
Debug.Print Int((92) * Rnd + 8)'产生10个随机数
Next
End Sub
chenziteng 2004-09-28
  • 打赏
  • 举报
回复
Private Sub Command1_Click()
Randomize
Dim i As Integer
For i = 1 To 10
Debug.Print 8 + CInt((Rnd() * 100 Mod 92))
Next
End Sub

7,789

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧