VB生成不重复的随机数比如做个35选7,如何实现出来的数字都是不相同的呢?

来源:学生作业帮助网 编辑:作业帮 时间:2024/04/30 20:51:20

VB生成不重复的随机数比如做个35选7,如何实现出来的数字都是不相同的呢?
VB生成不重复的随机数
比如做个35选7,如何实现出来的数字都是不相同的呢?

VB生成不重复的随机数比如做个35选7,如何实现出来的数字都是不相同的呢?
我的建议是:第一步、先做一个数组,存上这35个数(可以不是连续的数,也可以是人名、字符串什么的);第二步、随机生成一个1-35之间的数,输出;第三步:把这个数和数组的第一个单元交换;第四步、从数组的第2-35之间随机抽取第二个数,输出;第五步、把这随机抽取的第二个数和数组的第二个单元内容呼唤;第六步、随机抽取第三个数,输出.重复到从第35-35个数之间随机抽取一个数,这时直接输出最后一个就行了.
程序如下(VB6):
工程里默认的窗体上,画一个Command1,粘贴程序:
option explicit
private vArray(1 to 35) as currency '定义数组个数
private sub command1_click()
test
end sub
private sub InitArray()
dim i as long
'给数组赋值
for i=1 to 35
varray(i)=i
next i
end sub
private sub Test()
dim iStart as long
dim iPos as long
dim vTemp as currency
dim sReturn as string
InitArray
randomize timer '设置随机因子,使其每次运行程序的随机数都不一样
iStart=1
do
iPos=int(rnd*(ubound(vArray)-iStart+1))+iStart '产生iStart到35(35取自vArray的上标)之间的整数
sReturn=sReturn & vArray(iPos) & vbcrlf '输出
'交换单元内容
vTemp=vArray(iStart)
vArray(iStart)=vArray(iPos)
vArray(iPos)=vTemp
iStart=iStart+1 '下次随机生成时,少生成一个
if iStart>=ubound(vArray) then
'最后一个了,直接输出
sReturn=sReturn & vArray(ubound(vArray))
Exit Do
end if
if iStart>7 then exit do '如果需要生成几个数,就把7改成几,大于数组元素的个数,将输出速度的元素个数(这个例子是35)
Loop
msgbox sReturn 'msgbox 输出结果
end sub
程序是直接在网页上写的,没有调试,如果有问题可以来信 cuidong@vip.163.com

VB生成不重复的随机数比如做个35选7,如何实现出来的数字都是不相同的呢? 怎么用VB编写点生成按钮产生1000个8位不重复的随机数呢?我想点生成显示1000个验证下8位随机数是否有重复,该要怎么改写代码呢? c#有没有函数能生成不重复的随机数,比如1-10之间的不重复随机数? 用vb怎样生成10个不重复的(1到10)随机数?举一反三那更好.先在这里说声谢谢! 如何生成不重复的随机数 excel生成不重复随机数我想一列n个不重复的5位或6位整数随机数 c#生成6个随机数,要求1到33之间不重复的随机数,要最简单的写法 c#生成6个随机数,要求1到33之间不重复的随机数,要最简单的写法 asp生成随机数的问题在k以内生成n个不重复的随机数.将这些随机数存放在a(i). 怎样用C语言生成10个1到100的不重复的随机数? C#,如何生成15个1-15之间的不重复的随机数? C#生成15个不重复的随机数,高手贴代码谢谢 vb 生成15个随机数,被7整除的降序排序在combobox中, vb 生成15个随机数,被7整除的降序排序在combobox中, 如何用VB制作随机数程序用VB制作一个 0-9十个数中随机出8个不重复的数字,例如:01235689, vb中怎么生成给定范围内的不同随机数,包括边界数(生成的数中有小数和整数,不重复)例如要生成0到9之间的三个随机数,包括9以及,范围内的小数 怎么生成6位不重复的随机数 怎么生成6位不重复的随机数