员工每周工作最多 40 小时,工资为每小时 9.73 美元。超过该时间的任何小时均按该时间的 1 又 1/2 倍的加类费率支付。
我对这句话的算法是“任何超过该时间的工作时间均按 1.5 倍的加类费率支付。”是让我困惑的一个。
这是代码:
double hours, overtimepay, overtimehours, wage;
printf("Enter number of hours: ")
scanf("%f",&hours);
wage=9.73*hours;
overtimehours=hours-40;
overtimepay=(9.73*overtimehours)*1.5);
if(hours>40){
printf("Your wage is: %f",wage);
printf("Your overtime pay is: %f",overtimepay);
}
else{
printf("Your wage is: %f",wage);
}
我对如何计算加类费或加类费率感到困惑。 1 和 1/2 等于 1.5(如果我没记错的话)。这是我的公式:
overtimepay=(9.73*overtimehours)*1.5);
因为我的加类时间是从 40 小时中减去小时数,例如,如果我输入 43 小时,则 43-40=3,所以加类时间为 3 小时。这三个小时将乘以 9.73 和 1.5。将9.73、加类时间和1.5相乘正确吗?或者只是加类和1.5?
最佳答案
你的计算没问题(毕竟没那么复杂!),我只是建议更改你的条件语句以减少你的代码:
double hours, overtimepay, wage;
printf("Enter number of hours: ")
scanf("%f",&hours);
wage=9.73*hours;
wage = 9.73 * hours;
printf("Your wage is: %f\n",wage);
if(hours > 40)
{
overtimepay = (9.73*(hours-40))*1.5;
printf("Your overtime pay is: %f\n", overtimepay);
}
关于计算加类费我的公式正确吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24405199/