加入收藏 | 设为首页 | 会员中心 | 我要投稿 南平站长网 (https://www.0599zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > Asp教程 > 正文

随机产生多个不重复数字的asp程序

发布时间:2020-12-24 12:47:59 所属栏目:Asp教程 来源:网络整理
导读:我们先来看一种我网上搜索到的程序: 随机产生4个不重复数字的asp程序!(上水道的) % randomize dim?a1,a2,a3,a4 a1=Int(10?*?Rnd) a2=Int(10?*?Rnd) do?while?a1=a2 a2=Int(10?*?Rnd) loop a3=Int(10?*?Rnd) do?while?a1=a3?or?a2=a3 a3=Int(10?*?Rnd) loo

我们先来看一种我网上搜索到的程序:

随机产生4个不重复数字的asp程序!(上水道的)
<%
randomize
dim?a1,a2,a3,a4
a1=Int(10?*?Rnd)
a2=Int(10?*?Rnd)
do?while?a1=a2
a2=Int(10?*?Rnd)
loop
a3=Int(10?*?Rnd)
do?while?a1=a3?or?a2=a3
a3=Int(10?*?Rnd)
loop
a4=Int(10?*?Rnd)
do?while?a1=a4?or?a2=a4?or?a3=a4
a4=Int(10?*?Rnd)
loop
%>

<%=a1%>
<%=a2%>
<%=a3%>
<%=a4%>

挺好懂的,不过要是要生成多点数字,这样可就麻烦了,于是看到了下面一样写法:

--??作者:wxz
--??发布时间:2002-10-16 22:44:18

怎样一次生成10个不同的随机数
<%
dim?n(10)
for?i=1?to?10
Randomize
n(i)=Int(50*?Rnd+1)
??for?q=1?to?i
????if?n(i)=n(q-1)?then
????n(i)=n(q)+1
????end?if
??next
response.write?n(i)&"<br>"
next
%>

总觉得这种方法很麻烦,但是找不到更好的方法了:(

那么我就利用此法写了一个通用的子函数。

<%
function showrnd(x,y)
if y<x then
?exit function
end if
redim n(x)
dim i,q
dim isok
for i=1 to 10
Randomize
n(i)=round((y-1)* Rnd)+1
isok=false
do while not isok
? for q=1 to i
??? if n(i)=n(q-1) then
???? n(i)=Int((y-1)* Rnd)+1
??isok=false
??? ?exit for
?end if
? isok=true
? next
loop
response.write n(i)&"<br>"
next
end function

'产生在1到50内的10个随机数
call showrnd(10,50)
%>

(编辑:南平站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读