题描述 :春节促销 (c++)

春节促销

某商城春节感恩回馈。

活动一:消费金额满999元打9折,满1888元打8.5折,满2777元打8折。

活动二:消费金额每满200元立减10元。

两个活动可同时参与,请你帮忙设计个程序计算下可能的最小付款金额。

输入格式
一行一个正整数表示消费金额。

输出格式
一行一个正整数表示付款金额(向下取整只保留整数部分)。

样例输入 #1
3000
样例输出 #1
2250

说明/提示
对于20%的数据:
0<n<200

对于50%的数据:
0<n<900

对于100%的数据:
0<n≦≦3000

#include <iostream>
using namespace std;
int main() {
    int amount;
    cin >> amount;
    int s = amount;
    if (amount >= 2777) s *= 0.8;
    else if (amount >= 1888) s *= 0.85;
    else if (amount >= 999) s *= 0.9;
    s -= (amount / 200) * 10;
    cout << s;
    return 0;
}

img


#include <iostream>
#include <cmath>

int main() {
    int amount;
    std::cin >> amount;

    double discount = 1.0;
    if (amount >= 2777) {
        discount = 0.8;
    } else if (amount >= 1888) {
        discount = 0.85;
    } else if (amount >= 999) {
        discount = 0.9;
    }

    int payment = std::floor(amount * discount);

    while (amount >= 200) {
        payment -= 10;
        amount -= 200;
    }

    std::cout << payment << std::endl;

    return 0;
}
不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^