测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

A34183. 统计高分问题小张在学习对分查找后,想利用该思路来实践一下,加深对该算法的理解。于是他按老师的要求,统计期末考试成绩,总分比他高的同学有多少个?他的思路是,首先将全区所有学生的成绩降序排序,然后利用对分查找思想解决。他编写的代码如下,请完善划线处的代码。cj =[654,643,621,612,609,606,...]#学生成绩存列表cj并已经降序排序def dfsearch(key): i =0…

填空题 较难

题目描述

统计高分问题

小张在学习对分查找后,想利用该思路来实践一下,加深对该算法的理解。于是他按老师的要求,统计期末考试成绩,总分比他高的同学有多少个?

他的思路是,首先将全区所有学生的成绩降序排序,然后利用对分查找思想解决。他编写的代码如下,请完善划线处的代码。

cj =[654,643,621,612,609,606,...]#学生成绩存列表cj并已经降序排序

def dfsearch(key):

       i =0; j=len(cj)-1

      while i<=j:

             m =(i+j)//2

             if cj[m]>key:

                   _______① _______        

              else:

                    j-= 1

      return  _______② _______        

key = int(input('输入待查找的成绩'))

pos = _______③ _______        

print('高于',key,'分的人数有',pos)

参考答案

cj =[654, 643, 621, 612, 609, 606, . . . ]#学生成绩存列表 cj 并已经降序排序 def dfsearch(key) : i =0; j=len(cj) -1 while i<=j: m =(i+j) //2 if cj[m]>key: i +=1 else: j-= 1 return i key = int(input(' 输入待查找的成绩' ) ) pos = dfsearch(key) print(' 高于' , key, ' 分的人数有' , pos)
上一题 下一题