|
这段代码是为了产生6个不重复的随机数:
Dim i,m,A(6)
Randomize
Do until Response=vbNo
For i=1 to 6
Redvalue=(int(Rnd*20)+1)
Call Redvalue =Unduplicated(Redvalue,i) ‘调用Unduplicated(Myvalue,m)
(将Function的返回值赋值给Redvalue,这样写对吗?)
A(i-1)=Redvalue
Next
Msgbox(&A(0)&","&A(1)&","&A(2)&","&A(3)&","&A(4)&","&A(5)) ‘打印出产生的6个随机数
Response=Msgbox("继续?",vbyesno)
Loop
Function Unduplicated(Myvalue,m)
Dim j
For j= 0 to m
if Myvalue=A(j) then
(我想将主函数中的字符数组A在这里用一下,感觉肯定用错了,但不知道正确的应该数怎么样的)
Do until Myvalue<>A(j)
Myvalue=(int(Rnd*20)+1) ‘重复的再重新产生随机数
Call Unduplicated(Myvalue,m) ‘递归检测前面已经产生的随机数是否和新产生的随机数重复
Loop
End if
Next
End Function
这里面还有其他的错误请帮忙指出来,谢谢! |
|