某对分查找算法的 VB 程序段如下:
n = 0: i = 1: j = 6
Key = Val(Text1.Text)
Do While i <= j
m=(i+j)\2
n=n+1
If Key = d(m) Then Exit Do
If Key < d(m) Then j = m - 1
Else i= m + 1
Loop
If i <= j Then s = m – n
Else s = n
数组 d(1)到 d(6)的值依次为“4,6,9,13,20,25”,输入某个 Key 值后,运行该程序段后,变量 s 结果为 3,则 输入 key 的值不可能是( )
n = 0: i = 1: j = 6
Key = Val(Text1.Text)
Do While i <= j
m=(i+j)\2
n=n+1
If Key = d(m) Then Exit Do
If Key < d(m) Then j = m - 1
Else i= m + 1
Loop
If i <= j Then s = m – n
Else s = n
数组 d(1)到 d(6)的值依次为“4,6,9,13,20,25”,输入某个 Key 值后,运行该程序段后,变量 s 结果为 3,则 输入 key 的值不可能是( )
A.25 | B.20 | C.5 | D.3 |
更新时间:2020-08-31 09:11:59
|
【知识点】 查找算法及程序实现
相似题推荐
选择题
|
较难
(0.4)
【推荐1】某对分查找算法的VB程序段如下:
Dim a(l to 6)As Integer
i=1: j=6: n=0
key= Val(Textl. Text)
Do While i<=j
LOOP
数组元素a(1)到a(6)的值依次为“1921,1927,1949,1998,2008,2019”。在文本框Text1中输入“1998”后运行该程序,则以上程序段运行结束后,下列说法正确的是( )
Dim a(l to 6)As Integer
i=1: j=6: n=0
key= Val(Textl. Text)
Do While i<=j
n=n+1
m=(i+j)\2
If key=a(m) Then Exit Do 'Exit do为退出do循环
If key<a(m) Then
j=m-1
Else
i=m+1
LOOP
数组元素a(1)到a(6)的值依次为“1921,1927,1949,1998,2008,2019”。在文本框Text1中输入“1998”后运行该程序,则以上程序段运行结束后,下列说法正确的是( )
A.变量i的值为3 |
B.变量j的值为5 |
C.变量m的值为3 |
D.变量n的值为3 |
您最近一年使用:0次
选择题
|
较难
(0.4)
【推荐2】有如下程序段:
n=0:i=1:j=6
key=Val(Text l. Text)
Do While i<=j
Loop
d(1)到d(6)的值依次为“88,77,53,47,39,28”,并且输入key值为40,下列说法正确的是( )
n=0:i=1:j=6
key=Val(Text l. Text)
Do While i<=j
m=(i+j)\2
n=n+1
If key=d(m) Then Exit Do
If key>d(m) Then j=m-1 Else i=m+1
Loop
d(1)到d(6)的值依次为“88,77,53,47,39,28”,并且输入key值为40,下列说法正确的是( )
A.变量n中记录了查找次数,终值为3 |
B.数组d中的元素若无序,也可用此程序段进行查找某个数字 |
C.无论数组d中是否出现与key值相等的元素,循环结束后“i>j”一定成立 |
D.该程序段结束后,变量m的终值为5 |
您最近一年使用:0次