1 条题解
-
0
思路分析
1. 任务拆解:
- 读取银币个数n
- 读取n个银币金额
- 找出最大金额和最小金额
- 遍历数组,对最大金额银币翻倍,最小金额银币加1,其余不变
- 输出处理后的所有银币金额
2. 关键点分析:
- 需要先确定最大值和最小值,再统一处理
- 所有最大金额银币都翻倍,所有最小金额银币都加1
- 使用if-else if结构确保每个银币只被处理一次
- 输出时用空格分隔
3. 步骤规划: 第一步:读取银币个数n 第二步:循环读取银币金额 第三步:遍历数组找出最大值max和最小值min 第四步:再次遍历数组,根据条件处理每个银币并输出 第五步:最大值翻倍,最小值加1,其他保持不变
4. 代码对应:
cin>>n:读取银币个数- 第一个
for循环:输入银币金额 - 第二个
for循环:找出最大值max和最小值min - 第三个
for循环:处理并输出每个银币 if(a[i]==max):处理最大金额银币(翻倍)else if(a[i]==min):处理最小金额银币(加1)else:其他银币保持不变
- 1
信息
- ID
- 646
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- 4
- 标签
- (无)
- 递交数
- 257
- 已通过
- 126
- 上传者