數(shù)組d中存儲某班級50位同學的語文和數(shù)學成績,偶數(shù)位(第0位,第2位……)存儲對應該同學的語文成績,奇數(shù)位(第1位,第3位……)存儲數(shù)學成績。該數(shù)組已經(jīng)按照兩科總成績升序排序。依據(jù)二分查找思想,設(shè)計一個在數(shù)組d中查找總成績key的程序,如果查找成功輸出語文成績在數(shù)組中的位置。
實現(xiàn)該功能的python程序段如下,請在劃線部分填上合適的語句或表達式。
key=int(input(“請輸入成績“))
i,j,flag=0,99,True
while i<=j and flag:
m=(i+j)//2
if ①m%2==1m%2==1
m=m-1
sum=②d[m]+d[m+1]d[m]+d[m+1]
if key=sum:
flag=False
elif ③key>sumkey>sum
i=m+2
else:
j=m-2
if i>j:
print(“沒有找到!“)
else:
print(“總分符合要求的語文成績位置為:“,str(m))
【考點】查找算法及其程序?qū)崿F(xiàn).
【答案】m%2==1;d[m]+d[m+1];key>sum
【解答】
【點評】
聲明:本試題解析著作權(quán)屬菁優(yōu)網(wǎng)所有,未經(jīng)書面同意,不得復制發(fā)布。
發(fā)布:2024/5/27 14:0:0組卷:1引用:1難度:0.5
相似題
-
1.某對分查找算法的VB程序段如下:
數(shù)組元素a(1)到a(10)的值依次為“12,15,18,20,25,39,47,88,90,99”,經(jīng)過上述代碼查找后,下列表達式正確的是( ?。?/h2>發(fā)布:2024/12/20 16:0:2組卷:5引用:2難度:0.5 -
2.某數(shù)組d中的數(shù)據(jù)依次是[8,12,15,28,28,32,36,39],要查找某個元素是否在數(shù)組中,下列說法正確的是( )
發(fā)布:2024/12/20 0:0:1組卷:3引用:1難度:0.7 -
3.有如下對分查找VB程序段:
若數(shù)組元素a(1)~a(10)的值依次為“5,9,13,18,22,27,31,39,40,44”,運行程序后,文本
框Text2中顯示的內(nèi)容為3,則輸入的key值不可能為( ?。?/h2>發(fā)布:2024/12/20 20:0:2組卷:3引用:2難度:0.4
把好題分享給你的好友吧~~