wang815309286 发表于 2016-8-14 17:17:38

关于while进入了循环不能

#include<stdio.h>
#define money 10.00   //每小时10$
#define over 1.5   //超过40个小时部分为1.5倍
#define a0.15                //前300$为0.15的税率
#define b0.2                        //下一个150税率为0.2
#define c0.25                //剩下的税率为0.25
#define d40*10.00   //40个小时的工资
int main(void)
{
        float num,s,time;         //定义工作时间time,总金额num,净收入s
        printf("enter your gong zi:\n");
        while (scanf("%f",&time)==1);
{
        if (time<40)            /*time 小于40个小时时*/
        num=time*money;         
        else num=(time-40)*1.5*10.00+d;
        if (num<=300)
        {
               printf("工资总额=%f",num);
               num*=1-a;
               s=num*a;
               printf("净工资=%f",num);
               printf("税金=%f",s);
        }
        else if (num<=150)
        {
               printf("工资总额=%f",num);
                num=300*(1-a)+(num-300)*(1-b);
               s=300*a+(num-300)*b;
               printf("净工资=%f",num);
               printf("税金=%f",s);
        }
        else
        {
               printf("工资总额=%f",num);
               num=300*(1-a)+150*(1-b)+(num-450)*(1-c);
                s=300*a+150*b+(num-450)*c;
                printf("净工资=%f",num);
                printf("税金=%f",s);                        
        }
}
}

wang815309286 发表于 2016-8-14 17:19:05

求教,就是我输入数字 进入while循环但是不会打印printf()里面的内容,这是为啥?

wang815309286 发表于 2016-8-14 17:21:11

然后我试着不用循环语句,程序能够正常显示。

lelen99 发表于 2016-8-14 20:25:48

第12行多写了分号
while (scanf("%f",&time)==1);

Krant5 发表于 2016-8-15 09:18:09

因为你的while后加了分号

弧矢七 发表于 2016-8-15 10:09:55

楼主,第12行我怎么看不懂啊!能解释一下吗?

wang815309286 发表于 2016-8-15 14:23:48

{:10_257:}这他么就尴尬了。。
页: [1]
查看完整版本: 关于while进入了循环不能