不管输入x为任何值,回车后都是0

img


这是一个c语言书上的网吧计费题目,要求不到10小时算30元,10到50小时2.5一小时,50小时以上2元一小时,180元封顶

程序上有些问题,修改后的源码如下:有问题可以私聊,程序都是测试通过的。

#include <stdio.h>

int main()
{
    int x;
    double y;
    scanf("%d", &x);

    if(x<10)
    {
        y=30;
        printf("%f\n",y);
    }
    else
    {
        if(x<50)
        {
            y=2.5*x;
            printf("%f\n",y);
        }
        else
        {
            if(x<90)
            {
                y=2*x;
                printf("%f\n",y);
            }
            else
            {
                y=180;
                printf("%f\n",y);
            }
        }
    }
    return 0;
}

scanf("%lf",&x);
double型变量输入用%lf,不能用%d
printf也一样,用%lf,不能用%d,y是double类型