• C语言经典算法100例-002-数轴的使用


    题目如下:

    企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提10%;利润高 于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可提 成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于 40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于 100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数?

    知识点:对if else结构的熟练应用,可以模仿数轴,将各个区间的利润分别计算。

    代码:

    #include <stdio.h>
    #include <stdlib.h>
    
    int main()
    {
        long int profit;
        int bonus1,bonus2,bonus4,bonus6,bonus10,bonus;
        printf("Please input the profit!
    ");
        scanf("%ld",&profit);
    
        bonus1=100000*0.1;
        bonus2=bonus1+100000*0.075;
        bonus4=bonus2+200000*0.05;
        bonus6=bonus4+200000*0.03;
        bonus10=bonus6+400000*0.015;
        if(profit<=100000) bonus=profit*0.1;
        else if(profit<200000) bonus=bonus1+(profit-100000)*0.075;
        else if(profit<400000) bonus=bonus2+(profit-200000)*0.05;
        else if(profit<600000) bonus=bonus4+(profit-400000)*0.03;
        else if(profit<1000000) bonus=bonus6+(profit-600000)*0.015;
        else bonus=bonus10+(profit-1000000)*0.001;
    
        printf("Bonus is %d
    ",bonus);
        return 0;
    }
    


    易错点:1.10W到20W的利润率可能按0.75算。

                    2.注意输入长整型要使用 %ld.

                    3.将不变量bonus1等提前计算出来,不要在计算bonus时计算,会降低程序可读性,其实这里最好使用常量。

    by 庄孝义


  • 相关阅读:
    使用logstash配置nginx和tomcat日志统一收集到一台日志服务器
    文章
    辣和辛的区别是什么?
    prometheus和zabbix的对比
    从零搭建Prometheus监控报警系统
    Adobe Flash Professional 制作定制FLashPlayer播放器之读取配置文件(二)
    Adobe Flash Professional 制作定制FLashPlayer播放器(一)
    OSG+VS2015 测试Demo
    OSG+VS2015 入门教程---环境搭建
    button的类型?为什么button 会自动提交表单?
  • 原文地址:https://www.cnblogs.com/mrbourne/p/9959520.html
Copyright © 2020-2023  润新知