林惜城


私信TA

用户名:reminder

访问量:31296

签 名:

等  级
排  名 91
经  验 9070
参赛次数 0
文章发表 95
年  龄 0
在职情况 学生
学  校 西安电子科技大学
专  业

  自我简介:

哈姆


解题思路:

用一系列if else语句来处理多种情况。因为分段不太方便所以没用switch语句,不过用除以200000的余数来作为case应该也可以。

注意事项:

奖金应为浮点数,因为可能有小数。数额比较大,计算比较繁琐。

参考代码:

#include <iostream>

using namespace std;

int main() {
	int profit = 0;
	float award = 0;
	cin >> profit;
	if(profit < 0) {
		return -1;
	} else if(profit <= 100000) {
		award = 0.1 * profit;
	} else if(profit <= 200000) {
		award = 0.075 * (profit - 100000) + 10000;
	} else if(profit <= 400000) {
		award = 0.05 * (profit - 200000) + 17500;
	} else if(profit <= 600000) {
		award = 0.03 * (profit - 400000) + 27500;
	} else if(profit <= 1000000) {
		award = 0.015 * (profit - 600000) + 33500;
	} else {
		award = 0.01 * (profit - 1000000) + 39500;
	}
	cout << award << endl;
	return 0;
}


 

0.0分

3 人评分

  评论区

您好请问一下 我也看过题解但是我也考虑到了浮点数,负数的情况下为什么我还是一直错误呀我只是用不同字母表达
2022-04-06 00:24:22
  • «
  • 1
  • »