C语言,求大家看下这个问题🥹🥹

这个程序为什么求不出正确答案呢🥹

输入x的值,根据分段函数,输出相应的y值(结果保留两位小数)

y=2x(x>0)
y=1(x=0)
y=4-x(x<0)#include

int main()

{

         double  x,y;



          scanf("%1f",&x);



          if(x>0)

                       y=2*x;



          else  if(x<0)



                       y=4-x;



          else



                       y=1;



          printf("%.2f\n",y);



          return 0;

}

输出应该是%lf
printf("%.2lf\n",y);
输入也是
scanf("%lf",&x);

scanf和printf里写%lf


//你把l打成了1,正确如下:
scanf("%lf",&x);