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

随机产生多个不重复数字的asp程序,第1张

概述我们先来看一种我网上搜索到的程序: 随机产生4个不重复数字的asp程序!(上水道的)<%randomizedim a1,a2,a3,a4a1=Int(10 * Rnd)a2=Int(10 * Rnd)do while a1=a2a2=Int(10 * Rnd)loopa3=Int(10 * Rnd)do while a1=a...

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

随机产生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)
%>

总结

以上是内存溢出为你收集整理的随机产生多个不重复数字的asp程序全部内容,希望文章能够帮你解决随机产生多个不重复数字的asp程序所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1220110.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-05
下一篇 2022-06-05

发表评论

登录后才能评论

评论列表(0条)

保存