为什么这个输入之后 输出的答案不对

#include <stdio.h>
int main ( )
{
int t,m;
float s,a,b,c,d,e;
scanf("%.1f %d",&s,&t);
if (t<5)
{
if(0<s&&s<=3)
{
m=10;
printf("%d",m);
}
else if(s>3&&s<=10)
{
a=10+(s-3)*2;
m=a+0.5;
printf("%d",m);
}
else if(s>10)
{
b=24+(s-10)*3;
m=b+0.5;
printf("%d",m);
}
}
else if(t>=5)
{
if(0<s&&s<=3)
{
e=10+0.4*t;
m=e+0.5;
printf("%d",m);
}
else if(s>3&&s<=10)
{
c=10+(s-3)*2+0.4*t;
m=c+0.5;
printf("%d",m);
}
else if(s>10)
{
d=24+(s-10)3+0.4t;
m=d+0.5;
printf("%d",m);
}
}
return 0;

}

img

输入语句:scanf("%.1f %d",&s,&t); 修改为:scanf("%f %d",&s,&t);