| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1442 人关注过本帖
标题:C语言中经典的奖金利润分成问题,知道源代码,但是不能理解,求大神给详细的 ...
只看楼主 加入收藏
clb141914845
Rank: 2
等 级:论坛游民
帖 子:6
专家分:10
注 册:2020-12-8
结帖率:50%
收藏
已结贴  问题点数:20 回复次数:3 
C语言中经典的奖金利润分成问题,知道源代码,但是不能理解,求大神给详细的解析。
题目:企业发放的奖金根据利润提成。利润(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,求应发放奖金总数?
搜索更多相关主题的帖子: 经典的 解析 总数 C语言 源代码 
2020-12-08 23:30
风过无痕1989
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:8
帖 子:228
专家分:1050
注 册:2020-7-17
收藏
得分:10 
回复 楼主 clb141914845
程序代码:
#include<stdio.h>
int main()
{
    float I, jiangji;
    printf("输入当月利润:");
    scanf("%f", &I);
    if (I <= 100000)
        jiangji = 0.1 * I;
    else if (100000 < I && I <= 200000)
        jiangji = 0.1 * 100000 + 0.075 * (I - 100000); // 基准数是100000 * 10% 
    else if (200000 < I && I <= 400000)
        jiangji = 0.1 * 200000 + 0.05 * (I - 200000);  // 基准数是200000 * 10%
    else if (400000 < I && I <= 600000)
        jiangji = 0.1 * 400000 + 0.03 * (I - 400000);  // 基准数是400000 * 10%
    else if (600000 < I && I <= 1000000)
        jiangji = 0.1 * 600000 + 0.015 * (I - 600000); // 基准数是600000 * 10%
    else if (1000000 < I)
        jiangji = 0.1 * 1000000 + 0.01 * (I - 1000000);// 基准数是1000000 * 10%

    printf("应发放奖金总数为:%.2f\n", jiangji);
}
2020-12-09 01:43
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9031
专家分:54061
注 册:2011-1-18
收藏
得分:10 
知道源代码,但是不能理解
??? 先完完全全按照题意写出代码,语法不会的话去看教科书,应该没有任何难度
程序代码:
double foo( double i )
{
    double r = 0;
    if( i <= 100000 )
        r = i*0.100;
    else if( i <= 200000 )
        r = 100000*0.100 + (i-100000)*0.075;
    else if( i <= 400000 )
        r = 100000*0.100 + (200000-100000)*0.075 + (i-200000)*0.050;
    else if( i <= 600000 )
        r = 100000*0.100 + (200000-100000)*0.075 + (400000-200000)*0.050 + (i-400000)*0.030;
    else if( i <= 1000000 )
        r = 100000*0.100 + (200000-100000)*0.075 + (400000-200000)*0.050 + (600000-400000)*0.030 + (i-600000)*0.015;
    else
        r = 100000*0.100 + (200000-100000)*0.075 + (400000-200000)*0.050 + (600000-400000)*0.030 + (1000000-600000)*0.015 + (i-1000000)*0.010;
    return r;
}


然后,有空余时间,可以化简代码
程序代码:
double foo( double i )
{
    double r = 0;
    if( i <= 100000 )
        r = i*0.100 + 0;
    else if( i <= 200000 )
        r = i*0.075 + 2500;
    else if( i <= 400000 )
        r = i*0.050 + 7500;
    else if( i <= 600000 )
        r = i*0.030 + 15500;
    else if( i <= 1000000 )
        r = i*0.015 + 24500;
    else
        r = i*0.010 + 29500;
    return r;
}
2020-12-09 09:22
clb141914845
Rank: 2
等 级:论坛游民
帖 子:6
专家分:10
注 册:2020-12-8
收藏
得分:0 
回复 2楼 风过无痕1989
感谢,完全理解了
2020-12-10 08:51
快速回复:C语言中经典的奖金利润分成问题,知道源代码,但是不能理解,求大神给 ...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.039687 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved