vb如何产生随机数

产生1-1000的整型随机数并且把它给suiji这个变量.请给出部分程序。像前面的Private什么的就不用写了。复制粘贴的请走--伪随机不要rand伪随机只要短期内比如... 产生1-1000的整型随机数

并且把它给suiji这个变量.

请给出部分程序。像前面的Private什么的就不用写了。

复制粘贴的请走- -
伪随机不要 rand伪随机 只要短期内 比如10000次不重复就好。。 10000次不重复是指第10001次和第1次不会一定一样,第10002次和第2次不会一定一样,以此类推

这个程序是不是可以:
Randomize()
suiji = Int((999 * Rnd()) + 1)
展开
 我来答
火幻黑欢网31
2010-07-16 · 超过50用户采纳过TA的回答
知道小有建树答主
回答量:150
采纳率:0%
帮助的人:106万
展开全部
自己做?
10000次不重复的话
Private m_Randed() As Long
Private Max As Long
'注:以上变量请勿改写,除非Rand还未调用或者清零
Function Rand() As Single
Dim s As Single
Randomize
s = Int(Rnd * UBound(m_Randed))
Rand = s

For i = 1 To UBound(m_Randed)
'思路:如果等于已经产生过的随机数则+1
If s = m_Randed(i) Then Rand = Rand + 1
If Rand >= Max Then Rand = 0
Next
If Rand > Max Then Rand = s: Exit Sub '只得重复,放弃
ReDim Preserve m_Randed(UBound(m_Randed) + 1)
m_Randed(UBound(m_Randed)) = Rand
End Function
以上是真RAND的代码 但是请注意 如果已经10000次了 它只得自动搞重复过的

参考资料: 自己编写

NaylonSlain
2010-07-16 · 超过14用户采纳过TA的回答
知道答主
回答量:41
采纳率:0%
帮助的人:32.5万
展开全部
只能用Rnd,可能是因为你没初始化吧。

这样写:
Randomize '初始化
suiji= Fix(Rnd * 999) + 1 '生成0-999的随机数,+1则为1-1000

10000次不重复?一共只有1000个数,怎么可能不重复呢?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友29d085b
2010-07-16
知道答主
回答量:1
采纳率:0%
帮助的人:0
展开全部
除了Rnd()还得在产生随机数前调用Randomize使计数器初始化,保证每次产生的数值不会一样
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
真的没啥事
2010-07-16 · TA获得超过1079个赞
知道小有建树答主
回答量:2033
采纳率:0%
帮助的人:1070万
展开全部
rnd()*1000
啥语言都实现不了真随机。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
weiweiq
2010-07-16 · TA获得超过1446个赞
知道小有建树答主
回答量:1435
采纳率:100%
帮助的人:896万
展开全部
Randomize
suiji=int(rnd*1000)+1
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(9)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式