一道简单的编程,请帮小弟我看看,为什么输入2还是显示y=0

一道简单的编程,请帮我看看,为什么输入2还是显示y=0
#include<stdio.h>
main()
{
float x,y,c;
printf("请输入x的值:");
scanf("%f",&x);
if(x<0)
printf("y=0");
if(x>=0&&x<5)
c=x+2;
printf("y=%d",c);
if(x>=5&&x<10)
c=x*x-3;
printf("y=%d",c);
if(x>=10)
printf("y=10");
}
------解决方案--------------------
printf("y = %d", (int)c);