vbscript求救,生成随机数问题

要求:从1至40的数字中,调用20次随机函数,生成20个随机数字,而且这20个数字中不能有重复

请用下列函数返回:

' Result()数组用来存放生成的20个1~40的不重复随机数
Private Function ShowRnd(Result() As Integer)
Dim Temp(20) As Integer
Dim Result(20) As Integer
Dim P, Q As Integer
Dim IsOk As Boolean

For P = 1 To 20
Randomize
Temp(P) = Int(40 * Rnd + 1)
IsOk = False
Do While Not IsOk
For Q = 1 To P
If Temp(P) = Temp(Q - 1) Then
Temp(P) = Int(40 * Rnd + 1)
IsOk = False
Exit For
End If
IsOk = True
Next
Loop
Result(P) = Temp(P)
Next
End Function
温馨提示:内容为网友见解,仅供参考
第1个回答  2006-05-21
Dim n(20)
Randomize Timer
Do
i = i + 1
j = 0
Do
n(i) = Int(Rnd * 40 + 1)
j = j + 1
Loop While n(i) = n(j) And j < i
Loop Until i = 20
MsgBox Join(n, " ")

vbscript求救,生成随机数问题
' Result()数组用来存放生成的20个1~40的不重复随机数 Private Function ShowRnd(Result() As Integer)Dim Temp(20) As Integer Dim Result(20) As Integer Dim P, Q As Integer Dim IsOk As Boolean For P = 1 To 20 Randomize Temp(P) = Int(40 * Rnd + 1)IsOk = False Do Whil...

关于vbscript生成随机数问题
所以范围大的数可以用数组产生,例如1-1000,先将这些数赋值给数组,然后再产生随机数,如产生22,那么就将数组22的值取出,然后再将22及后的数组的值+1,剩下999个数了,随机范围-1,只产生999的数,就算这时刚巧也是产生22随机数,也不会重复,因为这时数组编号22的值已经被23取代了,所不会重复...

用VBscript随机产生一个4位数字
必须在这句话之前加上randomize才行,否则产生的随机数是唯一的。'══代══码══开══始════ randomize k=1000+Int(Rnd(Second(Time))*8999)msgbox k '══代══码══结══束════

用VBscript编写网页,产生10个1-100的随机数并显示,并求出其中大于50的...
dim a(10)dim r,i,sum sum=0 randomize for i=1 to 10 a(i)=1+int(rnd()*100)if a(i)>50 then sum=sum+a(i)end if next alert sum

用VBScript程序,编写一个随机产生两个2位数,然后显示这两个数及其最小...
使用随机数函数 (Randomize和Rnd),就可以实现了 Dim min,n1,n2Randomizen1 = Int(90 * Rnd+10)n2 = Int(90 * Rnd+10)if n1 > n2 then min = n2else min = n1end ifmsgbox "第一个数是:" & n1 & " 第二个数是:" & n2 & " 最小的数是:" & min效果如下:四个三...

vb产生50~100之间的随机数20个
随机数的生成规则如下:为了生成某个范围内的随机整数,可使用以下公式:Int((upperbound - lowerbound + 1) * Rnd + lowerbound)这里,upperbound 是随机数范围的上限,而 lowerbound 则是随机数范围的下限。×××自己再用FOR循环20次就可以了。

用按键精灵 输入100到140之间的随机整数数值 代码怎么写? 谢谢_百度...
在使用按键精灵编写代码时,如果你需要输入100到140之间的随机整数,你可以按照以下步骤操作。首先,创建一个循环来确保每次输入的数值在这个范围内。以下是改写后的代码片段:为了输入100到140之间的随机整数,你可以使用以下按键精灵脚本:vbscript Dim randomNumber Randomize ' 使随机数生成更随机 Do random...

VB如何能让数更随机
Randomize iValue = Int((10000 * Rnd) + 1)MsgBox iValue 你没有初始化随机生成器 Randomize

如何在htm页面中生成随机数
<SCRIPT LANGUAGE="vbScript"> Randomize MyValue = Int((3 * Rnd) + 1)'生成1-3之间的随机数 if MyValue = 1 then window.location.href='http:\/\/www.163.com'elseif MyValue = 2 then window.location.href='http:\/\/www.tom.com'elseif MyValue = 3 then window.location.href='...

表格vbA随机生成一组4位数字的组合?
在Excel中,使用VBA编写代码生成4位随机数并填充到单元格B1到C5,可以参考以下代码:```vba Sub GenerateRandomNumbers()Dim i As Integer Dim j As Integer For i = 1 To 5 For j = 2 To 3 Cells(i, j).Value = Int((9999 - 1000 + 1) * Rnd + 1000)Next j Next i End Sub `...

相似回答
大家正在搜