解题思路:
不同级别的奖金计算公式存在重复,利用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 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复