随机取数数“用过的再不取”?
比如,在01到10中随机取数字,怎样实现“用过的再不取”? $n=5 ;要取的总个数$Bx="";显示用
dim $A;存放1-10个数
dim $B[$N+1];存放取出的数
for $i=1 to 10;放数进去
$a[$i]=$i
Next
$x=10;使用数的个数
for $i=1 to $n
$y=Random(1,$x,1)
$B[$i]=$A[$y]
for $j=$y to $x-1
$A[$j]=$A[$j+1]
Next
$x=$x-1
Next
for $i=1 to $n
$Bx=$BX&" "&$B[$i]
Next
MsgBox(0,"",$Bx) 帮楼上改一下
#include "array.au3"
$n = 5 ;要取的总个数
$Bx = "" ;显示用
Dim $A;存放1-10个数
For $i = 1 To 10 ;放数进去
$A[$i] = $i
Next
For $i = 1 To $n
$y = Random(1, UBound($A)-1, 1);此处经验证需改为UBound($A)-1,
$Bx &=$A[$y]&" "
_ArrayDelete($A, $y)
Next
MsgBox(0, "", $Bx)
[ 本帖最后由 pcbar 于 2008-6-30 15:41 编辑 ] :face (29): 看过了。不错 哇,好有用!
谢谢! :face (25): 受教了 pcbar 的UBound($A)要减去1
#include "array.au3"
$n = 5 ;要取的总个数
$Bx = "" ;显示用
Dim $A;存放1-10个数
For $i = 1 To 10 ;放数进去
$A[$i] = $i
Next
For $i = 1 To $n
$y = Random(1, UBound($A)-1, 1)
$Bx &=$A[$y]&" "
_ArrayDelete($A, $y)
Next
MsgBox(0, "", $Bx) 原帖由 jhwl 于 2008-6-30 11:19 发表 http://www.autoitx.com/images/common/back.gif
pcbar 的UBound($A)要减去1
#include "array.au3"
$n = 5 ;要取的总个数
$Bx = "" ;显示用
Dim $A;存放1-10个数
For $i = 1 To 10 ;放数进去
$A[$i] = $i
Next
For $i = 1 To $n
$y =...
多谢指正 有时会用到 老大们很强啊,学习了
页:
[1]