解题思路:
根据输入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语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:644 |
简单的a+b (C语言代码)浏览:340 |
C语言程序设计教程(第三版)课后习题7.1 (C语言代码)浏览:1229 |
WU-链表数据求和操作 (C++代码)浏览:1316 |
2006年春浙江省计算机等级考试二级C 编程题(2) (C语言代码)浏览:472 |
C语言程序设计教程(第三版)课后习题10.3 (C语言代码)浏览:1919 |
图形输出 (C语言代码)浏览:1387 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:408 |
简单的a+b (C语言代码)浏览:531 |
C语言程序设计教程(第三版)课后习题9.4 (C语言代码)浏览:646 |