解题思路:该题类似于分段函数,考虑用switch语句

注意事项:一般思路就是用case语句从0--9加上default顺次编写,但要注意题目中的利润区间,在switch语句体现出来例如case 2:同时存在于100000<i≤200000以及200000<i≤400000两个区间中,就没法处理了;这时可以用逆序从上至下累计奖金,同时还要注意利润中每一部分的奖金提成都是不同的;有一个小细节就是default放在switch语句开头用来处理利润为10^6以上的奖金。


参考代码:

#include<stdio.h>

int main()

{

    int i;

    int m = 0;

    scanf("%d",&i);

    switch(i/100000){

        //default可以放到任意位置上

        //程序进入switch语句后,顺序执行所有可执行语句,只有遇到break或}才会停止。

        default:m+=(i-1000000)*0.01;i=1000000;

        case 9:

        case 8:

        case 7:

        case 6:m+=(i-600000)*0.015;i=600000;

        case 5:

        case 4:m+=(i-400000)*0.03;i=400000;

        case 3:

        case 2:m+=(i-200000)*0.05;i=200000;

        case 1:m+=(i-100000)*0.075;i=100000;

        case 0:m+=i*0.1;

    }

    printf("%d",m);

    return 0;

}


点赞(0)
 

0.0分

1 人评分

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

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

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

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

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

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

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

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

评论列表 共有 0 条评论

暂无评论