c语言if循环语句后面两个输出为什么是0

#include
int main()
{
int t;
double s;
scanf("%lf %d",&s,&t);
if(s<=3)
{
int m;
if(t<5)
{
m=10;
printf("%d",m);
}
else if(t>=5)
{
m=10+t*2/5;
printf("%d",m);
}
}
else if(s<=10&&s>3)
{
float m;
int i=(int)(m+0.5);
if(t<5)
{
m=10+(s-3)*2;
printf("%d",i);
}
else if(t>=5)
{
m=10+(s-3)2+t2/5;
printf("%d",i);
}
}
else if(s>10)
{
float m;
int i=(int)(m+0.5);
if(t<5)
{
m=24+(s-10)*3;
printf("%d",i);
}
else if(t>=5)
{
m=24+(s-10)3+t2/5;
printf("%d",i);
}

}
return 0;

}

小数要用%f,不是%d输出呀,这里m也没赋值

img

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^