普源为晚上的班级联欢会设计了一个抽奖程序,将所有同学的编号和对应的姓名分别保存在数组a(全班共50个同学,编号为1到50)和数组b中,程序会随机产生一个1到50的正整数(同时包括1和50),作为中奖编号.
程序界面如图所示,左边列表框List1中显示同学的编号和姓名,单击“抽奖“按钮(Command1),在标签Label3中显示抽中的编号,同时在标签Label4中显示“恭喜***同学“,其中具体同学的姓名从数组b中获取.
解决此问题的程序段如下:
Dim a(1To 50)As Integer
Dim b(1To 50)As String
Function search(m As Integer) As Integer
search=0
For i=1To 50
If m=a(i) Then
search=a(i)
End If
Next i
End Function
Private Sub Command1_Click ( )
Dim c As Integer,t as integer
Randomize
①c=int(rnd*50)+1c=int(rnd*50)+1
Label3.Caption=Str(c)
t=search(c)
If t<>0Then
Label4.Caption=“恭喜“+②b(t)b(t)+“同学“
End If
End Sub
Private Sub Form_Load ( )
'此过程用于对数组a和数组b进行初始赋值,代码略
End Sub
(1)函数search中所用的算法是 顺序查找顺序查找. (选填:顺序查找 或 对分查找)在程序①和②横线处,填入适当的语句或表达式,把程序补充完整:
(2)程序中①横线处应填入 c=int(rnd*50)+1c=int(rnd*50)+1.
(3)程序中②横线处应填入 b(t)b(t).
【考点】查找算法及其程序实现.
【答案】c=int(rnd*50)+1;b(t);顺序查找;c=int(rnd*50)+1;b(t)
【解答】
【点评】
声明:本试题解析著作权属菁优网所有,未经书面同意,不得复制发布。
发布:2024/12/5 12:30:1组卷:16引用:1难度:0.1
相似题
-
1.某对分查找算法的VB程序段如下:
数组元素a(1)到a(10)的值依次为“12,15,18,20,25,39,47,88,90,99”,经过上述代码查找后,下列表达式正确的是( )发布:2024/12/20 16:0:2组卷:5引用:2难度:0.5 -
2.某数组d中的数据依次是[8,12,15,28,28,32,36,39],要查找某个元素是否在数组中,下列说法正确的是( )
发布:2024/12/20 0:0:1组卷:3引用:1难度:0.7 -
3.有如下对分查找VB程序段:
若数组元素a(1)~a(10)的值依次为“5,9,13,18,22,27,31,39,40,44”,运行程序后,文本
框Text2中显示的内容为3,则输入的key值不可能为( )发布:2024/12/20 20:0:2组卷:3引用:2难度:0.4