1 条题解
-
0
思路分析
1. 任务拆解:
- 读取同学数量n
- 读取n个同学的学号
- 找出最大学号和最小学号的值
- 找出最大学号和最小学号对应的位置
- 输出两个位置
2. 关键点分析:
- 需要分两步:先找极值,再找位置
- 可能有多个相同极值,但题目要求找位置,通常指第一次出现的位置
- 使用两个变量记录最大值和最小值的位置
- 位置编号从1开始
3. 步骤规划: 第一步:读取同学数量n 第二步:循环读取n个学号 第三步:遍历数组找出最大值和最小值 第四步:再次遍历数组找出最大值和最小值的位置 第五步:输出两个位置
4. 代码对应:
cin>>n:读取同学数量- 第一个
for循环:输入学号数据 - 第二个
for循环:找出最大值和最小值 maxi, mini:记录极值位置- 第三个
for循环:找出最大值和最小值的位置 cout<<maxi<<" "<<mini:输出位置结果
注意:如果多个同学有相同极值,这段代码记录的是最后一个出现的位置。如果需要第一个出现的位置,需要在第二个循环中找到极值时立即记录位置。
- 1
信息
- ID
- 493
- 时间
- 1000ms
- 内存
- 16MiB
- 难度
- 3
- 标签
- (无)
- 递交数
- 707
- 已通过
- 362
- 上传者