月落风起时


私信TA

用户名:uq_19102475415

访问量:1529

签 名:

就算从ling开始,每天都有收获就会快乐!

等  级
排  名 6421
经  验 1419
参赛次数 0
文章发表 3
年  龄 23
在职情况 学生
学  校
专  业

  自我简介:

普普通通平平凡凡。

解题思路:根据题意,从每部分利润中获得提成计算均是分段的,故考虑数据结构“分段函数”,且都是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分

3 人评分

  评论区

  • «
  • »