文章目录
题目
某公司员工的工资计算方法如下:一周内工作时间不超过 40 40 小时,按正常工作时间计酬;超出 40 40 小时的工作时间部分,按正常工作时间报酬的 1.5 1.5 倍计酬。员工按进公司时间分为新职工和老职工,进公司不少于 5 5 年的员工为老职工, 5 5 年以下的为新职工。新职工的正常工资为 30 30 元 / / 小时,老职工的正常工资为 50 50 元 / / 小时。请按该计酬方式计算员工的工资。
输入格式
输入在一行中给出 2 2 个正整数,分别为某员工入职年数和周工作时间,其间以空格分隔。
输出格式
在一行输出该员工的周薪,精确到小数点后 2 2 位。
输入样例1
5 40
输出样例1
2000.00
输入样例2
3 50
输出样例2
1650.00
题解
解题思路
首先从输入的工作时间判断,如果大于 5 5 年,则再进行工作时间是否大于等于 40 40 小时;如果小于 5 5 年,则再进行工作时间是否大于等于 40 40 小时的判断。根据每种不同的情况计算出不一样的工资输出(控制浮点数精确度可用 p r i n t f ( ) printf() 函数和 s e t p r e c i s i o n ( ) setprecision() 函数)即可。
完整代码
#include<iomanip> #include<iostream> using namespace std; int main(void) { int year, time; double sum = 0; cout << "请输入入职年数和周工作时间: "; // 提交时注释此行 cin >> year >> time; if (year >= 5) { if (time >= 40) sum = 40 * 50 + (time - 40) * (50 * 1.5); else sum = time * 50; } else { if (time >= 40) sum = 40 * 30 + (time - 40) * (30 * 1.5); else sum = time * 30; } cout << fixed << setprecision(2) << sum << endl; return 0; }