解题思路:
根据输入x的范围,使用if-else语句判断每一种情况。
注意事项:
1.奖金可提 表示 奖金的利润率,需要转为 小数(也可以使用%表示); 2.每一项的奖金利率不同; 3.后一个分支 可以 由前一个分支构成(需要把原x的位置 替换为 原上限值),然后在最前面(或者最后面)加上一项涉及该变量的项。
参考代码:
#include<iostream> using namespace std; int main(){ int x, y; cin >> x; if(x <= 100000) y = x * 0.1; else if(x < 200000) y = (x - 100000) * 0.075 + 100000 * 0.1; else if(x < 400000) y = (x - 200000) * 0.05 + (200000 - 100000) * 0.075 + 100000 * 0.1; else if(x < 600000) y = (x - 400000) * 0.03 + (400000 - 200000) * 0.05 + (200000 - 100000) * 0.075 + 100000 * 0.1; else if(x < 1000000) y = (x - 600000) * 0.015 + (600000 - 400000) * 0.03 + (400000 - 200000) * 0.05 + (200000 - 100000) * 0.075 + 100000 * 0.1; else y = (x - 1000000) * 0.01 + (1000000 - 600000) * 0.015 + (600000 - 400000) * 0.03 + (400000 - 200000) * 0.05 + (200000 - 100000) * 0.075 + 100000 * 0.1; cout << y; return 0; }
0.0分
3 人评分
你这个不便于书写 #include<iostream> #define A 100000 #define B 200000 #define C 300000 #define D 400000 #define E 500000 #define F 600000 #define G 1000000 using namespace std; int main() { int l,j; cin>>l; if(l<=A)cout<<l*0.1<<endl; else if(l>A&&l<=B)cout<<A*0.1+(l-A)*0.075<<endl; else if(l>B&&l<=D)cout<<A*0.1+A*0.075+(l-B)*0.05<<endl; else if(l>D&&l<=F)cout<<A*0.1+A*0.075+B*0.05+(l-D)*0.03<<endl; else if(l>F&&l<=G)cout<<A*0.1+A*0.075+B*0.05+B*0.03+(l-F)*0.015<<endl; else cout<<A*0.1+A*0.075+B*0.05+B*0.03+D*0.015+(l-G)*0.01<<endl; return 0; }
川哥的吩咐 (C++代码)浏览:1076 |
C语言训练-计算1977!* (C++代码)浏览:907 |
数组输出 (C语言代码)--此题的题目描述有问题浏览:1844 |
C语言程序设计教程(第三版)课后习题8.4 (C语言代码)浏览:628 |
三角形 (C语言代码)浏览:965 |
文科生的悲哀 (C语言代码)浏览:1538 |
愚蠢的摄影师 (C++代码)浏览:980 |
1012题解浏览:938 |
A+B for Input-Output Practice (III) (C语言代码)浏览:594 |
妹子杀手的故事 (C语言代码)浏览:1153 |