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

三、解法解释

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

相关推荐
颜酱6 小时前
图结构完全解析:从基础概念到遍历实现
javascript·后端·算法
m0_736919106 小时前
C++代码风格检查工具
开发语言·c++·算法
yugi9878386 小时前
基于MATLAB强化学习的单智能体与多智能体路径规划算法
算法·matlab
DuHz7 小时前
超宽带脉冲无线电(Ultra Wideband Impulse Radio, UWB)简介
论文阅读·算法·汽车·信息与通信·信号处理
Polaris北极星少女7 小时前
TRSV优化2
算法
代码游侠8 小时前
C语言核心概念复习——网络协议与TCP/IP
linux·运维·服务器·网络·算法
2301_763472468 小时前
C++20概念(Concepts)入门指南
开发语言·c++·算法
XH华8 小时前
备战蓝桥杯,第九章:结构体和类
学习·蓝桥杯
abluckyboy9 小时前
Java 实现求 n 的 n^n 次方的最后一位数字
java·python·算法
园小异9 小时前
2026年技术面试完全指南:从算法到系统设计的实战突破
算法·面试·职场和发展