C语言问题求解答

2024-11-26 23:09:41
推荐回答(1个)
回答1:

1、代码问题,scanf里面应该用&time而不是time,表示通过&time找到变量time的地址,然后把输入的值赋变量time;printf里面应该用sum而不是&sum,表示打印变量sum的值。改好的代码如下:

#include 
#define SL1 0.15
#define SL2 0.2
#define SL3 0.25
int main()
{
    int time,a,b,sum=0;//除去前300美元的工资a,除去前450=(300+150)美元的工资b
    double tax1,tax2,tax3;//tax//
    printf("请输入一周工作时间:\n");
    scanf("%d",&time);
    if(time>40)
    {
        //加班过40小时的工资//
        sum=40*10;
        sum=sum+(time-40)*15;//1.5*10=15
    }
    else
        sum=10*time;
    printf("the sum is %d\n",sum);
    if(sum<=300)
    {
        tax1=sum*SL1;
        printf("tax is %f\n",tax1);
    }
    else if(sum<=450)//300    {
        tax2=tax1+(sum-300)*SL2;
        printf("tax is %f\n",tax2);
    }
    else
    {
        tax3=(sum-450)*SL3+tax1+tax2;
        printf("tax is %f",tax3);
    }
}


2、测试结果: