1 条题解

  • 0
    @ 2025-10-30 10:46:01

    思路分析

    1. 任务拆解:

    • 读取选手人数n
    • 读取n个选手的成绩
    • 读取要查询的选手成绩x
    • 将成绩按降序排列
    • 查找该成绩第一次出现的位置作为名次

    2. 关键点分析:

    • 使用冒泡排序进行降序排列
    • 允许并列排名,相同分数名次相同
    • 名次规则:分数高的排前面,相同分数并列
    • 在排序后的数组中,第一个出现该成绩的位置就是名次

    3. 步骤规划: 第一步:读取选手人数n 第二步:循环读取n个成绩 第三步:读取要查询的成绩x 第四步:使用冒泡排序进行降序排列 第五步:在排序后的数组中查找x第一次出现的位置 第六步:输出位置(即名次)

    4. 代码对应:

    • cin>>n:读取选手人数
    • 第一个for循环:输入所有成绩
    • cin>>x:读取查询成绩
    • 排序双重循环:进行降序冒泡排序
    • if(a[j]<a[j+1]):将较大值交换到前面
    • 查找循环:在排序后数组中找x第一次出现的位置
    • break:找到第一个就停止,确保得到正确名次
    • cout<<xi:输出名次
    • 1

    信息

    ID
    519
    时间
    1000ms
    内存
    32MiB
    难度
    4
    标签
    (无)
    递交数
    477
    已通过
    232
    上传者