解题思路:该题类似于分段函数,考虑用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分
1 人评分
WU-蓝桥杯算法提高VIP-企业奖金发放 (C++代码)浏览:1176 |
WU-格式化数据输出 (C语言代码)浏览:1755 |
A+B for Input-Output Practice (V) (C语言代码)浏览:470 |
核桃的数量 (C语言代码)浏览:872 |
剪刀石头布 (C++代码)浏览:1713 |
C二级辅导-统计字符 (C语言代码)浏览:481 |
C语言程序设计教程(第三版)课后习题5.8 (C语言代码)浏览:677 |
简单的a+b (C语言代码)浏览:641 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:501 |
简单的a+b (C语言代码)浏览:353 |