《C Primer Plus(第5版)中文版》第7章编程练习第7题

来源:互联网 发布:centos 安装指令 编辑:程序博客网 时间:2024/03/29 08:02

编写程序,要求输入一周中的工作小时数,然后打印工资总额、税金以及净工资。作如下假设:
a.基本工资等级=10.00单位/小时
b.加班(超过40小时)=1.5倍的时间
c.税率 前300单位为15%
下一个150单位为20%
余下的为25%
用#define定义常量,不必关心本例是否符合当前的税法。

#include <stdio.h>#define HOURLY 10.00    //时薪 #define OVERTIME 40     //超时阈值 #define OTRATE 1.5      //加班工资倍率#define LV0 300         //基本税率阈值#define LV0RATE 0.15    //基本税率#define LV1 150         //第一阶梯阈值 #define LV1RATE 0.20    //第一阶梯税率 #define LVUPRATE 0.25   //更高阶梯税率int main(void){    printf("请输入本周工作时间:");    float hour,salary,tax,pay;    if(scanf("%f",&hour)==1){        if(OVERTIME>=hour){            pay=HOURLY*hour;        }else{            pay=HOURLY*OVERTIME+(hour-OVERTIME)*HOURLY*OTRATE;        }        salary=pay;        if(pay<=LV0){            tax=pay*LV0RATE;            pay-=tax;        }else if(pay<=LV0+LV1){            tax=LV0*LV0RATE+(pay-LV0)*LV1RATE;            pay-=tax;        }else{            tax=LV0*LV0RATE+LV1*LV1RATE+(pay-LV0-LV1)*LVUPRATE;            pay-=tax;        }        printf("工资总额:%.2f\t税金:%.2f\t净工资:%.2f\n",salary,tax,pay);    }else{        printf("输入有误!程序终止!!\n");    }    return 0;}
0 0
原创粉丝点击