某公司标准上班时间是120小时,每小时工钱是20元, 如果上班时间超出了120小时,超出部分每小时按2倍工资发放。请编写程序计算员工月工资。
时间: 2023-04-29 11:01:19 浏览: 216
好的,以下是程序的代码:
hours = int(input("请输入员工本月上班时间:"))
if hours <= 120:
salary = hours * 20
else:
salary = 120 * 20 + (hours - 120) * 40
print("员工本月工资为:", salary, "元。")
解释一下代码的含义:
首先,我们通过 input 函数获取用户输入的上班时间,然后将其转换为整数类型并赋值给变量 hours。
接着,我们使用 if 语句判断员工的上班时间是否超过了标准上班时间 120 小时。如果没有超过,那么员工的工资就是上班时间乘以每小时工钱 20 元;如果超过了,那么员工的工资就是前 120 小时的工资加上超出部分的工资,超出部分的工资按照每小时 40 元计算。
最后,我们使用 print 函数输出员工的月工资。
希望这个程序对您有所帮助!
相关问题
用Java编写某公司标准上班时间是120小时,每小时工钱是20元, 如果上班时间超出了120小时,超出部分每小时按2倍工资发放。请编写程序计算员工月工资。
好的,下面是Java代码实现:
```java
import java.util.Scanner;
public class SalaryCalculator {
public static void main(String[] args) {
final int STANDARD_HOURS = 120; // 标准上班时间,单位为小时
final int HOURLY_WAGE = 20; // 每小时工钱,单位为元
Scanner scanner = new Scanner(System.in);
System.out.print("请输入本月实际上班时间(单位:小时):");
int actualHours = scanner.nextInt();
scanner.close();
int salary; // 员工月工资
if (actualHours <= STANDARD_HOURS) {
salary = actualHours * HOURLY_WAGE;
} else {
int overtimeHours = actualHours - STANDARD_HOURS;
salary = STANDARD_HOURS * HOURLY_WAGE + overtimeHours * HOURLY_WAGE * 2;
}
System.out.println("员工月工资为:" + salary + "元");
}
}
```
代码解析:
1. 首先定义了常量 `STANDARD_HOURS` 和 `HOURLY_WAGE` 分别表示标准上班时间和每小时工钱;
2. 然后通过 `Scanner` 类从控制台读入用户输入的实际上班时间;
3. 根据实际上班时间的不同,分别计算员工的月工资;
4. 最后输出员工月工资。
注意:
1. 代码中使用了 `Scanner` 类读取用户输入,需要通过 `scanner.close()` 方法关闭输入流;
2. 可以使用 `System.out.printf()` 方法格式化输出,使输出结果更加美观。
7-1 sdut-sel-4 计算工资数 分数 15 作者 周雪芹 单位 山东理工大学 某公司标准上班时间是120小时,每小时工钱是20元, 如果上班时间超出了120小时,超出部分每小时按2倍工资发放。请编写程序计算员工月工资。 输入格式: 输入一个员工的工作小时数。 输出格式: 输出这个员工的工资数。如果输入的工作小时数<=0,则输出0。用Java
好的,下面是Java代码实现:
```java
import java.util.Scanner;
public class SalaryCalculator {
public static void main(String[] args) {
final int STANDARD_HOURS = 120; // 标准上班时间,单位为小时
final int HOURLY_WAGE = 20; // 每小时工钱,单位为元
Scanner scanner = new Scanner(System.in);
System.out.print("请输入本月实际上班时间(单位:小时):");
int actualHours = scanner.nextInt();
scanner.close();
int salary; // 员工月工资
if (actualHours <= 0) {
salary = 0;
} else if (actualHours <= STANDARD_HOURS) {
salary = actualHours * HOURLY_WAGE;
} else {
int overtimeHours = actualHours - STANDARD_HOURS;
salary = STANDARD_HOURS * HOURLY_WAGE + overtimeHours * HOURLY_WAGE * 2;
}
System.out.println("员工月工资为:" + salary + "元");
}
}
```
代码解析:
1. 与上一个问题的代码基本相同,唯一的区别是增加了对输入小时数小于等于0的特判,此时输出员工月工资为0。
注意:
1. 在实际应用中,可能还需要增加对输入的合法性判断,例如输入非数字或负数等情况;
2. 可以使用 `System.out.printf()` 方法格式化输出,使输出结果更加美观。
相关推荐
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)