解题思路:

不同级别的奖金计算公式存在重复,利用if语句顺序执行的特性,不断更新变量a的数据,并将上一条if语句的结果迭代求和,如:先计算大于1000000部分的奖金,保存下来,剩下1000000再计算超过600000部分的奖金;并与上一次的结果累加,依次类推。



注意事项:

输入,输出要求都是整型,但计算过程需要乘小数,因而需要进行数据类型转换。

参考代码:

#include<stdio.h>

int main()

{

    int b,reward;

    float s,a;

    scanf("%d",&b);

    a=(float)b;


    if((a-1000000)>0){s=(a-1000000)*0.01;a=1000000;}

    if((a-600000)>0){s=s+(a-600000)*0.015;a=600000;}

    if((a-400000)>0){s=s+(a-400000)*0.03;a=400000;}

    if((a-200000)>0) {s=s+(a-200000)*0.05;a=200000;}

    if((a-100000)>0){s=s+(a-100000)*0.075;a=100000;}

    s=s+a*0.1;

    reward=(int)s;

    printf("%d\n",reward);

  

    return 0;

}


点赞(0)
 

0.0分

0 人评分

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

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

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

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

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

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

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

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

评论列表 共有 0 条评论

暂无评论