蓝桥杯-每日刷题-026

奖金提成

一、题目要求

  • 题目描述
    企业发放的奖金根据利润提成。
    利润I低于100000元的奖金可提10%;
    利润高于100000元,低于200000元的(100000<I<=200000)时,低于100000元的部分按10%提成,高于100000元的部分,可提成7.5%;
    200000<I<=400000时,低于200000部分按前面的方法,高于200000元的部分按5%提成;
    40000<I<=600000元时,高于400000元的部分按3%提成;
    600000<I<=1000000时,高于600000元的部分按1.5%提成;
    I>1000000元的部分按1%提成。
    从键盘输入当月利润I,求应发奖金总数。
  • 输入格式
    输入有若干行,每行一个实数I,表示企业利润。
  • 输出格式
    对应输出可提取的奖金,结果保留整数。
  • 输入样例
    8000
    200000
    1000000
  • 输出样例
    800
    17500
    39500

二、完整代码

cpp 复制代码
#include <iostream>
enum Lirun
{
    one = 100000,
    two = 200000,
    three = 400000,
    four = 600000,
    five = 1000000
};
int main()
{
    int i,sum;
    Lirun l;
    while (std::cin >> i)
    {
        if (i <= one)
            sum = 0.1 * i;
        if (i > one && i <= two)
            sum = 0.1 * one + 0.075 * (i - one);
        if (i > two && i <= three)
            sum = 0.1 * one + 0.075 * (two - one) + 0.05 * (i - two);
        if (i > three && i <= four)
            sum = 0.1 * one + 0.075 * (two - one) + 0.05 * (three - two) + 0.03 * (i - three);
        if (i > four && i <= five)
            sum = 0.1 * one + 0.075 * (two - one) + 0.05 * (three - two) + 0.03 * (four - three)+0.015*(i-four);
        if(i>five)
            sum = 0.1 * one + 0.075 * (two - one) + 0.05 * (three - two) + 0.03 * (four - three) + 0.015 * (five - four)+0.01*(i-five);
        std::cout << sum << std::endl;
    }
}

三、解法解释

因为今天刚学习了枚举,所以就趁热使用一下,其余的也都很基础。

相关推荐
wabs6663 小时前
关于贪心算法的思考
算法·贪心算法
社交怪人3 小时前
【判断大小】信息学奥赛一本通C语言解法(题号1043)
算法
Snasph3 小时前
GNU Make 用户手册(中文版)
服务器·算法·gnu
江澎涌4 小时前
拆解与 AI 的一次对话
人工智能·算法·程序员
sheeta19984 小时前
LeetCode 每日一题笔记 日期:2026.06.02 题目:3635. 最早完成陆地和水上游乐设施的时间 II
笔记·算法·leetcode
Lsk_Smion4 小时前
力扣实训 _ [102].层序遍历--前序--后续_递归与非递归的实现
数据结构·算法·leetcode
小欣加油6 小时前
leetcode3751 范围内总波动值I
java·数据结构·c++·算法·leetcode
Halo_tjn7 小时前
反射与设计模式1
java·开发语言·算法
V搜xhliang02468 小时前
临床科研新范式:从选题到投稿,AI智能体如何接管全流程?
运维·数据结构·人工智能·算法·microsoft·数据挖掘·自动化
计算机安禾8 小时前
【算法分析与设计】第46篇:近似难度与不可近似性理论
网络协议·算法·ssl