编程题 7-10 计算工资【PAT】

文章目录

编程练习题目集目录

题目

某公司员工的工资计算方法如下:一周内工作时间不超过 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; }
本文是转载文章,点击查看原文
如有侵权,请联系 lx@jishuguiji.net 删除。