# 获取学生的生日信息
def get_birthday():
    n = int(input())
    birthdays = []
    for _ in range(n):
        name, year, month, day = input().split()
        birthdays.append([name, int(year), int(month), int(day)])
    return birthdays

# 按照生日从大到小排序
def sort_birthday(birthdays):
    # 使用冒泡排序,每次比较两个生日,如果前面的生日较大,则交换位置
    for i in range(len(birthdays)-1):
        for j in range(len(birthdays)-1-i):
            if birthdays[j][1:] < birthdays[j+1][1:]:
                birthdays[j], birthdays[j+1] = birthdays[j+1], birthdays[j]
    return birthdays

# 输出排序后的学生姓名
def print_sorted_name(birthdays):
    for birthday in birthdays:
        print(birthday[0])

birthdays = get_birthday()
sorted_birthdays = sort_birthday(birthdays)
print_sorted_name(sorted_birthdays)
``
题目描述小可想统计一下班里面每位同学的生日并按照从大到小排序请你写一个程序帮助她完成这项工作。输入描述输入n+1行第一行一个正整数n表示班里学生人数5n100接下来n行分别是每位同学的姓名出生年、月、日输出描述输出n行每行一个排好序之后的学生姓名。如果有两位同学的生日相同输入靠后的同学姓名先输出样例输入3Yangchu 1992 4 23Qiujingya 1993 10 13Luowen 199

原文地址: http://www.cveoy.top/t/topic/hZNu 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录