人性场所 电子书:ASP中Randomize和Rnd怎么用啊

来源:百度文库 编辑:高考问答 时间:2024/04/27 17:21:26
Randomize和Rnd的用法不太懂,比如我要从1-50中随机选择8个数,不能重复,要怎么编程啊。

举例说明如何使用 Randomize 语句:

例如:
Dim MyValue, Response
Randomize '初始化随机数生成器。
Do Until Response = vbNo
MyValue = Int((6 * Rnd) + 1)' 产生 1 到 6 之间的随机数。
MsgBox MyValue
Response = MsgBox ("Roll again? ", vbYesNo)
Loop

Randomize 是随机初始化,使用rnd之前必须要先来一句Randomize

rnd-随机函数,用于随机,为了防止重复,你可以用一个数组(如果是用来随机整数,开Bool数组,随机实数九要开实数数组)来保存已经随机出来的结果,每随机一个判断一下是否随机过
具体实现方法,要看你的数据类型了,上面的方法不够完善,如果需要发送百度消息给我吧

<%
session("jl")=""
a1=setnum()
a2=setnum()
a3=setnum()
a4=setnum()
a5=setnum()
a6=setnum()
a7=setnum()
a8=setnum()

response.Write(a1 & "<br>")
response.Write(a2 & "<br>")
response.Write(a3 & "<br>")
response.Write(a4 & "<br>")
response.Write(a5 & "<br>")
response.Write(a6 & "<br>")
response.Write(a7 & "<br>")
response.Write(a8 & "<br>")

function setnum()
Randomize
jlsz=split(session("jl"),";")
cfbj=2
while cfbj=2
setnum=int(rnd()*50)
for i=0 to Ubound(jlsz)-1
cf=0
if cint(setnum)=cint(jlsz(i)) then
cf=1
exit for
end if
next
if cf=0 then
cfbj=0
else
cfbj=2
end if
wend
session("jl")=session("jl")& setnum &";"
end function
%>