解题思路:根据题意,从每部分利润中获得提成计算均是分段的,故考虑数据结构“分段函数”,且都是y=kx+b形式(y为提成,k为提成百分百,x为利润,k为基础提成,可根据上一分段的最大值计算出,第一段基础提成k1=0,第二段提成基础k2=k1+100000*0.1=10000,后面的以此类推。)

注意事项:书写0的个数和小数点位数要小心,计算细心点。

参考代码:

#includde<stdio.h>

int main()

{


         int x;            /*要求输入整数利润金额,故利润x应为整型数*/

         float y;        /*由于提成计算有百分比,故定义成浮点型,以防数据丢失*/


        fscanf(stdin,"%d",&x);    /* 从标准输入(键盘)输入x*/

    

        /* 利用if else 语句构成分段函数进行计算*/

        if(x<=100000)

                y=0.1*x;

        else if(x>100000&&x<=200000)        /*区间表示,注意0的个数,后面如此*/

                y=10000+0.075*(x-100000);

        else if(x>200000&&x<=400000)

                y=17500+0.05*(x-200000);

        else if(x>400000&&x<=600000)

                y=27500+0.03*(x-400000);

        else if(x>600000&&x<=1000000)

                y=33500+0.015*(x-600000);

        else                                                    

                y=39500+0.01*(x-1000000);


         fprintf(stdout,"%d\n",(int)y);        /*  要求输出整数提成金额,故(int)y 强转,fprintf()向标准输出流(屏幕)输出数据*/

         return 0;

}


点赞(0)
 

0.0分

3 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 0 条评论

暂无评论