编程题

小王同学编写了一个成绩录入和查询系统,能实现输入多个互不相同的分数,自动进行从高到低排名,同时输入要查询的分数,可以获得相应同学的姓名。程序运行结果如下图所示,实现代码如下,请你补全空缺处。

n=int(input("请输入总人数:"))

name=[""]*n

score=[0]*n

#输入功能,分别输入姓名与分数

for i in range(n):

   name[i]=input("请输入第"+str(i+1)+"个人名:")

          ①        =int(input("请输入第"+str(i+1)+"个分数:"))

#排名功能

for i in range(n-1):

   for j in range(0,n-1-i):

       if score[j]       ②        score[j+1]:

           score[j],score[j+1]=score[j+1],score[j]

           name[j],name[j+1]=name[j+1],name[j]

print("——————各个同学分数排名如下——————")

print(name)

print(score)

#查询功能

i=0

      ③        

key=int(input("请输入要查询的分数:"))

b=-1

while i<=j and b==-1:

   m=(i+j)//2

   if score[m]==key:

       b=m

   elif score[m]<key:

       j=        ④        

   else:

       i=m+1

if b==-1:

   print("没有同学获得该分数!")

else:

print("分数为"+str(key)+"的同学是:"+        ⑤        )

查看答案
赣ICP备20007335号-2