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

A25711. 编程实现:某比赛有N(2≤N≤50)名选手参加,给定每名参赛选手的编号(1到N)和比赛得分(0≤得分≤100),请按照分数从高到低的顺序排序,如果分数相同就按照编号排序,编号小的排前边。输入描述:第一行输入一个正整数N(2≤N≤50),表示参赛人数第二行开始,共输入N行,每行两个正整数,分别表示参赛选手的编号和比赛得分(0≤得分≤100),正整数之间以一个空格隔开输出描述:按照排序规则,输出N行…

填空题 较易

题目描述

编程实现:

某比赛有N(2≤N≤50)名选手参加,给定每名参赛选手的编号(1到N)和比赛得分(0≤得分≤100),请按照分数从高到低的顺序排序,如果分数相同就按照编号排序,编号小的排前边。

输入描述:

第一行输入一个正整数N(2≤N≤50),表示参赛人数

第二行开始,共输入N行,每行两个正整数,分别表示参赛选手的编号和比赛得分(0≤得分≤100),正整数之间以一个空格隔开

输出描述:

按照排序规则,输出N行,每行两个正整数,分别表示编号和得分,正整数之间以一个空格隔开

样例输入:

3
3 84
1 87
2 84

样例输出:

1 87
2 84
3 84

参考答案

N = int(input()) s = [] for i in range(N): h = input() s.append(list(map(int,h.split(' ')))) for j in range(len(s)-1): for i in range(len(s)-1): if s[i][1] < s[i+1][1]: temp = s[i] s[i] = s[i+1] s[i+1] = temp elif s[i][1] == s[i+1][1]: if s[i+1][0] < s[i][0]: temp = s[i] s[i] = s[i+1] s[i+1] = temp for i,j in s: print(i,j)

答案解析

评分标准:  

4分:能正确输出第一组数据;

4分:能正确输出第二组数据;

4分:能正确输出第三组数据;

4分:能正确输出第四组数据;

4分:能正确输出第五组数据;

5分:能正确输出第六组数据;

上一题 下一题