我做了个vbs随机数,以下为代码:Dim MyValue, Response
Randomize '初始化随机数生成器。
Do Until Response = vbNo
MyValue = Int((61 * Rnd) + 1) ' 产生 1 到 61 之间的随机数。
Response = MsgBox ("此次生成的随机数为:" & Cstr(MyValue) & vbCrLf & "是否重新产生随机数?", vbYesNo)
Loop 结果软件是出来了,可是随机数经常是61和1,还有37,测试了120次了,18,32,33和34一直都没有显示,怎样才能均匀分配呢?? 还有,如果我想让每一个数代表一个名字并在程序中显示那个名字,要怎么办呢? 比如:1号张三 2号李4 三号王5怎样才能让程序中出现名字呢?? 我只要vbs,别的不要!
VBS随机数的问题
答案:2 悬赏:0
解决时间 2021-11-27 15:02
- 提问者网友:饮鸿
- 2021-11-27 05:52
最佳答案
- 二级知识专家网友:荒唐后生
- 2021-11-27 06:44
不要刻意的去分配,这样就不是随机数了!按照你的要求我写了一个,希望对你有帮助。当然只是1到3间的随机数,你可以自己添加! Randomize
do
value1=MsgBox("是否生成随机抽取名单",vbYesNo,"谢谢")
If value1=vbyes then
d=Int(Rnd*3+1)
strs=Array("张三","李四","王五")
MsgBox "电脑为您抽取的是:" & strs(d-1),,"提示"
Else
WScript.Quit
End If
loop
do
value1=MsgBox("是否生成随机抽取名单",vbYesNo,"谢谢")
If value1=vbyes then
d=Int(Rnd*3+1)
strs=Array("张三","李四","王五")
MsgBox "电脑为您抽取的是:" & strs(d-1),,"提示"
Else
WScript.Quit
End If
loop
全部回答
- 1楼网友:請叫我丶偏執狂
- 2021-11-27 07:39
vbs中用randomize声明,生成随机系列,如果不声明,则生成伪随机,也就是你要的效果。
例如:
point=array(0,int(6 * rnd + 1),int(6 * rnd + 1),int(6 * rnd + 1))
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯