题目地址:
https://www.acwing.com/problem/content/671/
ABC公司决定给员工加薪,加薪情况如下所示:
薪水 涨薪幅度
0 - 400.00 15%
400.01 - 800.00 12%
800.01 - 1200.00 10%
1200.01 - 2000.00 7%
超过 2000.00 4%
给定一个工资,计算并输出其新工资、增加的收入和涨薪幅度。输出保留两位小数。
输入格式:
共一行,包含一个保留两位小数的浮点数。
输出格式:
第一行输出Novo salario: X
,
X
X
X表示员工新工资,保留两位小数。第二行输出Reajuste ganho: Y
,
Y
Y
Y表示员工增加的具体收入数值,保留两位小数。第三行输出Em percentual: Z
,
Z
Z
Z表示涨薪幅度,注意用百分比表示。
数据范围:
0
≤
s
≤
2500.00
0\le s\le 2500.00
0≤s≤2500.00
s
s
s是原工资
代码如下:
#include <iostream>
using namespace std;
int main() {
double s, in;
int perc;
scanf("%lf", &s);
if (s <= 400) {
in = s * 0.15; s += in; perc = 15;
} else if (s <= 800) {
in = s * 0.12; s += in; perc = 12;
} else if (s <= 1200) {
in = s * 0.1; s += in; perc = 10;
} else if (s <= 2000) {
in = s * 0.07; s += in; perc = 7;
} else {
in = s * 0.04; s += in; perc = 4;
}
printf("Novo salario: %.2lf\nReajuste ganho: %.2lf\nEm percentual: %d %%", s, in, perc);
return 0;
}
时空复杂度 O ( 1 ) O(1) O(1)。