1 条题解

  • 0
    @ 2025-10-29 14:30:21

    思路分析

    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
    上传者