公交卡充值问题?

【分析问题】

  • 输入是一个整数n,代表充值金额,范围在1到9299之间。
  • 输出是实际到账的金额,根据充值金额的不同区间,赠送不同的金额:
  • 充值200元以下:没有赠送,实际到账金额为n。
  • 充值200元~299元:赠送50元,实际到账金额为n + 50。
  • 充值300元~499元:赠送100元,实际到账金额为n + 100。
  • 充值500元及以上:赠送200元,实际到账金额为n + 200。
  • 核心算法是使用条件判断来检查n所在的区间,并计算实际到账金额。
  • 边界情况包括200、300、500等值,规则中明确包含边界值,因此条件判断应使用大于等于或小于等于来正确覆盖。

【建立模型(伪代码)】

开始
    读取整数 n
    如果 n > 500 则
        实际到账 = n + 200
    否则如果 n >= 300
        实际到账 = n + 100
    否则如果 n >= 200
        实际到账 = n + 50
    否则
        实际到账 = n
    输出 实际到账
结束

【编写代码】

#include <iostream>
using namespace std;
int main(){
    int money,total;
    cin>>money;
    if(money>=500){
        total = money+200;
    }else if(money>=300){
        total = money+100;
    }else if(money>=200){
        total = money+50;
    }else{
        total = money;
    }
    cout<<total;
    return 0;
}

【保存编译运行】