蓝桥杯-每日刷题-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;
    }
}

三、解法解释

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

相关推荐
Jiangxl~1 小时前
IP数据云如何为不同行业提供精准IP查询与风险防控解决方案?
网络·网络协议·tcp/ip·算法·ai·ip·安全架构
李伟_Li慢慢2 小时前
wolfram详解山峦算法
前端·算法
counting money2 小时前
prim算法最小生成树(java)
算法
澈2072 小时前
C++面向对象:类与对象核心解析
c++·算法
用户690673881922 小时前
基于无人机的单目测距系统,平均误差仅2.12%
算法
dinl_vin2 小时前
LangChain 系列·(四):RAG 基础——给大模型装上“外脑“
人工智能·算法·langchain
探物 AI3 小时前
【感知·医学分割】当 YOLOv11 杀入医学赛道:先检测后分割的级联架构
算法·yolo·计算机视觉·架构
隔壁大炮3 小时前
Day06-08.CNN概述介绍
人工智能·pytorch·深度学习·算法·计算机视觉·cnn·numpy
白云千载尽3 小时前
前馈与反馈——经典控制理论中的基础概念
人工智能·算法
炽烈小老头3 小时前
【每日天学习一点算法 2026/04/27】缺失的第一个正数
学习·算法