问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

VB生成不重复的随机数

发布网友 发布时间:2022-04-23 13:09

我来回答

2个回答

热心网友 时间:2023-06-26 22:40

我的建议是:第一步、先做一个数组,存上这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

热心网友 时间:2023-06-26 22:41

Private Sub Form_Click()
Dim num, sum
Randomize
sum = ""
For i = 1 To 7
num = Int(Rnd() * 35 + 1)
sum = sum & Space(3) & num
Next i
Print sum
End Sub

注:此代码在VB程序上运作正常。定义两个变量,num接收每一次随机生成的数,然后把每次生成的数链接起来存储到变量sum里。
Randomize 避免生成重复数字
rnd()随机生成函数,int取整函数
space()生成空格
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
电脑lol突然很卡怎么办啊电脑玩lolfps低怎么解决 危化品仓库有什么设备 香港中文大学2021-2022在河北,重庆最低录取分数线 ChaCheer 洽洽 南瓜子 盐焗味 500g-适用对象 老闫家小粒香南瓜子-适用对象 洽洽盐焗味南瓜子-适用对象 盐焗南瓜子里有添加明矾吗 老街口盐焗味南瓜子500g*2袋量大优惠休闲零食 一天走多少步可以减肥每天走多少步可以减肥 肉炖土豆需要炖多久时间 有什么好的方法可以快速瘦腿? vb产生不重复的随机数 什么方法瘦腿效果最快最好? 用EXCEL,VBA如何用0——9随机生成数个不重复的五位数?求高手 瘦腿最快的方法是什么 vba 随机数问题? 吃什么东西可以快速瘦腿? 有什么方法,既不用花钱,又能快速的瘦腿!! 该如何让随机数不重复!!!我想不到了? 用什么方法在最快的时间瘦腿 EXCEL VBA 在1-50产生5个不重复的随机整数,且和为300 请教,Excel VBA中,有五个按钮,每次产生1~5的不重复的随机数。 只有五个奖励值了。不好意 什么方法瘦腿最快 如何用EXCEl VBA生成随机整数(可以重复) 什么方法可以最快瘦腿 VBA菜鸟求助 生成不重复随机数 什么方法瘦腿又快又好? EXCEL VBA生成不重复随机数,且越来越大 瘦腿最有效的办法是什么? 如何用VBA产生一组区间内不重复随机数 用啥方法瘦腿最快?特别是小腿。 vba 如何让每次生成的随机序列都一样?比如调用random()函数,但每次得到的序列都不一样? VB中产生几个不重复的随机数字,(尽量要简单点) 用什么办法,可以快速瘦腿,求秒答,谢谢! 有什么办法能快速瘦腿?? excel随机变量不重复? 什么办法瘦腿最快? 请教,在Excel VBA中如何产生1-50之间的10个不重复的随机数,并存放在A1-A10单元格中?谢谢。 OPPO手机怎样申请主题商店设计师账号? 如何制作主题并发表到主题商店 三星手机的主题商店要注册ID该怎么注册 苹果手机主题商店在哪里? 请问oppo手机怎样申请主题商店账号? OPPO手机主题商店怎么自己做主题? oppor9主题商店怎么弄出来 oppo主题商店怎么申请退款 天翼云桌面怎么订购主题呢? 制作主题要那种软件才可以下载到手机里再从官网上传到主题商店? 最近买了个OPPO R9 ,问问用户如何上传壁纸到主题商店里? 如何在主题商店里已经制作主题?