肖黄清


私信TA

用户名:uq_24402228243

访问量:3731

签 名:

等  级
排  名 5263
经  验 1567
参赛次数 0
文章发表 13
年  龄 0
在职情况 学生
学  校
专  业

  自我简介:

解题思路:
根据输入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;
 }
2022-04-08 22:12:56
  • «
  • 1
  • »