《C Primer Plus》中文第六版 编程练习答案 第七章 第八题

#include<stdio.h>
#include<stdlib.h>
#define tax1 0.15
#define tax2 0.20
#define tax3 0.25
int main(void)
{
    int i,x;
    int hour;
float tax,net_income,salary,hourly_salary;
    for(i=0;i<77;i++)
    {
     printf("*");
    }
    printf("\nEnter the number corresponding to the desired pay rate or action:\n");
    printf("1) $8.75/hr                                                         2) $9.33/hr\n");
    printf("3) $10.00/hr                                                        4) $11.20/hr\n");
    printf("5) quit\n");
     for(i=0;i<77;i++)
    {
     printf("*");
    }
    printf("\n");
printf("请选择你的工资等级:");
scanf("%d",&x);
while(x!=1&&x!=2&&x!=3&&x!=4&&x!=5)
{
switch(x)
{
    case 1:hourly_salary=8.75;break;
    case 2:hourly_salary=9.33;break;
    case 3:hourly_salary=10.00;break;
    case 4:hourly_salary=11.20;break;
    case 5:return 0;break;
    default:printf("请输入正确的你的工资等级:");scanf("%d",&x);
}
}
    printf("请输入一周工作的小时数:");
    while(scanf("%d",&hour)==1&&hour>0)
    {
        if(hour<=40)salary=hour*hourly_salary;
        else salary=hourly_salary*(40+1.5*(hour-40));
    }
    if(salary<=300)net_income=(float)salary*(1-tax1);
    else if(salary>300&&salary<=450)net_income=(float)300*(1-tax1)+(salary-300)*(1-tax2);
    else net_income=(float)300*(1-tax1)+150*(1-tax2)+(salary-450)*(1-tax3);
    tax=(float)salary-net_income;
    printf("工资总额:%f 税金:%f 净收入:%f",salary,tax,net_income);
    return 0;
}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值