【加试题】小明为班会设计了一个抽奖程序,将所有同学的编号和对应的姓名分别保存在数组a(全班共50个同学,编号为1到50)和数组b中,点击抽奖按钮后,程序会随机产生一个1到50的正整数(同时包括1和50),作为中奖编号。
效果如图所示,左边列表框List1中显示同学的编号和姓名,单击"抽奖"按钮(Command1),在标签Label3中显示抽中的编号,同时在标签Label4中显示"恭喜***同学",其中具体同学的姓名从数组b中获取。
解决此问题的程序段如下:
Dim a(1 To 50) As Integer,b(1 To 50) As String
Private Sub Command1_Click()
Dim c As String, t as Integer ①
Randomize
c=Int(Rnd()*50+1)
Label3.Caption = Str(c)
t = search(c)
If
t < 0Then ②
Label4.Caption = "恭喜" + b(c) + "同学"
End If
End Sub
Function search(m As Integer) As Integer
search = 0
For i = 1 To 50
If m = a(i) Then
search = a(i)
End If
Next i
End Function
Private Sub Form_Load() ' 此过程用于对数组a和数组b进行初始赋值,代码略
End Sub
上面代码中有错误请改正。
①
②