哼哈二将! 发表于 2020-8-9 16:13:26

我的为什么可以做到if语句中运行一遍,else语句也运行

本帖最后由 哼哈二将! 于 2020-8-9 16:16 编辑

#define basic 10.00
#define other 40
#define one 300
#define two 450
#define tax_rate1 0.15
#define tax_rate2 0.20
#define tax_rate3 0.25

int main(void)
{
        int time,money,tax;
        printf("请输入你工作的时间:");
        scanf("%d",&time);
        if(time>0)
        {
                if(time<=other)
                        {
                                money=basic*time;
                                if(money<=one)
                                        printf("你的工资税前为%d,税为%d",money,money*tax_rate1);
                                else
                                        tax=one*tax_rate1+(money-one)*tax_rate2;
                                        printf("你的工资税前为%d,税为%d",money,tax);
                        }
                else
                        money=(other+(time-other)*1.5)*basic;
                        if (money<=two)
                                {
                                tax=one*tax_rate1+(money-one)*tax_rate2;
                                printf("你的工资税前为%d,税为%d",money,tax);
                                }
                        else
                                printf("你的工资税前为%d,税为%d",money,one*tax_rate1+(two-one)*tax_rate2+(money-two)*tax_rate3);
                       
       }
       
        return 0;
}
tax为我后添加参数 因为不知道什么标绿处输出结果全为0

栗粒粒 发表于 2020-8-9 16:15:33

你的第一个else后面没有打花括号,所以第二处标红的地方并不是第一个else里的内容了。

哼哈二将! 发表于 2020-8-9 16:16:25

谢谢我刚刚检查时发现了

哼哈二将! 发表于 2020-8-9 16:17:41

我列式计算输出结果为0 但是加入tax后可以正常输出

一枚丶学渣 发表于 2020-8-9 16:22:08

你把大括号都加完整了看看

页: [1]
查看完整版本: 我的为什么可以做到if语句中运行一遍,else语句也运行