VB编写一个抽奖小程序,要求每次抽奖的数字不重复
VB写一个抽奖小程序,抽奖号码最小值是1,号码最大值是输入的(整数),点击一次“天灵灵地灵灵”随机一个数,显示在中奖号码中,每次点击出现的随机数不相同(也就是没有人能中两...
VB写一个抽奖小程序,抽奖号码最小值是1,号码最大值是输入的(整数),点击一次“天灵灵地灵灵”随机一个数,显示在中奖号码中,每次点击出现的随机数不相同(也就是没有人能中两次奖)。当点击“天灵灵地灵灵”的次数大于等于号码最大值时,出提示“抽奖结束”。
展开
2个回答
展开全部
Dim n As Integer
Dim a()
Private Sub Command1_Click()
If n = 0 Then '第一次点击时执行
m = Val(Text1)
ReDim a(1 To m)
For i = 1 To m '生成数组a,元素为1至m这m个数
a(i) = i
Next
For i = 1 To m - 1 '随机打乱数组a中元素
r = Int(Rnd * m + 1)
tmp = a(i)
a(i) = a(r)
a(r) = tmp
Next
End If
n = n + 1 '计数点击次数
If n > Val(Text1) Then '次数超过指定次数,抽奖结束
MsgBox "抽奖结束!"
Exit Sub
End If
Text2 = a(n) '从数组中抽出第n个数,由于数组中是随机排列,所以相当于生成一个随机数,并且不会重复
End Sub
追问
1至m m这个数字 是在TEXT2 里敲进去的,不能在程序里改啊。我每次运行都说下越界呢
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询