Dim n As Integer, i As Integer, left As Integer, right As Integer, m As Integer
Dim a(1 To 10) As String, t As String, key As String
n = 6
a(1) = "35": a(2) = "20": a(3) = "18": a(4) = "8": a(5) = "274": a(6) = "47"
For i = 1 To n - 1
For j = n To i + 1 Step -1
If a(i) < a(j) Then
t = a(i): a(i) = a(j): a(j) = t
End If
Next j
Next i
key = Text1.Text
left = 1: right = n
Do While left <= right
m = (left + right) \ 2
If a(m) = key Then Exit Do
If a(m) < key Then right = m - 1 Else left = m + 1
Loop
若在文本框 Text1 中输入“212”,则程序运行结束后,m 的值为( )
A.1 | B.2 | C.4 | D.5 |
同类型试题
y = sin x, x∈R, y∈[–1,1],周期为2π,函数图像以 x = (π/2) + kπ 为对称轴
y = arcsin x, x∈[–1,1], y∈[–π/2,π/2]
sin x = 0 ←→ arcsin x = 0
sin x = 1/2 ←→ arcsin x = π/6
sin x = √2/2 ←→ arcsin x = π/4
sin x = 1 ←→ arcsin x = π/2
y = sin x, x∈R, y∈[–1,1],周期为2π,函数图像以 x = (π/2) + kπ 为对称轴
y = arcsin x, x∈[–1,1], y∈[–π/2,π/2]
sin x = 0 ←→ arcsin x = 0
sin x = 1/2 ←→ arcsin x = π/6
sin x = √2/2 ←→ arcsin x = π/4
sin x = 1 ←→ arcsin x = π/2