1 条题解
-
0
思路分析
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
- 上传者