我们先来看一种我网上搜索到的程序:
随机产生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) %>
(编辑:淮安站长网)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|