题型:综合题 题类:常考题 难易度:普通
【bj】高中信息技术综合库——枚举算法2
例如以6个同学编号为例,按1至2报数(从1号位置开始)依次出列的编号次序为2-4-6-3-1-5,那么最后剩下的就是编号为5的同学。
为了解决这个问题,小李用VB编写了如下程序尝试解决,其中列表list1显示出列的顺序编号,文本框text1中显示最后留下的编号,程序代码如下(测试界面如下图):
Private Sub Command1_Click()
Dim s, f, t As Integer
Dim a(1 To 400) As Boolean
For i = 1 To 400
a(i) = False
Next i
s = 0
f = 0
i = 0
Do While f < 399
i = i + 1
If i = 401 Then i =
If a(i) = False Then s = s + 1
If s = 2 Then
List1.AddItem Str(i)
a(i) = True
f =
End If
Loop
For i = 1 To 400
If Then text1.text=str(i)
Next i
End Sub
在程序划线处填入合适的代码。
图1
图2
程序代码如下:
Private Sub Command1_Click()
Dim i As Integer
List1.Clear '清除列表框内容
For i = 3 To 97 ___①___ If f(i) And ② Then List1.AddItem Str(i) + " 和 " + Str(i + 2) End If Next i |
End Sub
Private Function f(x As Integer) As Boolean '自定义函数f,返回值为逻辑型
Dim j As Integer
f = True
For j = 2 To Int(Sqr(x))
If x Mod j = 0 Then
f = ③ '函数返回值
Exit For '跳出For循环
End If
Next j
End Function
k = 0 '用来计数
Max = 600 '指定范围600以内
n = 9
Do While n <= Max
Loop
Label1.Caption = Str(Max) & "范围内满足问题的数有" & Str(k) & "个"
End Sub
方框中的代码由以下五部分组成:
① n=n+7
② k = k + 1
③ List1.AddItem Str(n)
④ End If
⑤ If n Mod 3 = 2 And n Mod 5 = 3 Then
代码顺序正确的选项是( )
试题篮