c程序不知道哪里错误了,运行不了,dl们,求解a

问题遇到的现象和发生背景 c语言程序,不知道为什么运行不了

航空公司对旅客托运行李有一定限制,其具体规定如下。
重量:每件最大重量不能超过50公斤。
免费限额:每位经济舱客人免费托运限额为20公斤,超过部分需要付费。
超额计费标准:每公斤收取经济舱全额票价的1.5%。

用代码块功能插入代码,请勿粘贴截图

#include
int main()
{
int m,p,y;
double s=0.015;
printf("请分别输入行李重量m和经济舱全额票价p:");
scanf("%d%d",m,p);
if(m>50)
{
printf("您的行李超出最高上限,不允许托运");
}
if(m<=20)
{
printf("您可以免费托运行李");
}
if(20
{
printf("超过20公斤的行李要额外的付费为:");
y=(m-20)sp;
printf("%lf",y);
}
return 0;
}

运行结果及报错内容 输入变量之后小黑框就没了
我的解答思路和尝试过的方法 不知道哪里出错了
我想要达到的结果 希望能成功运行

scanf("%d%d",m,p);改为scanf("%d%d",&m,&p);要有取址符&
if(20<m<=50)这里不能这样连着写
括号里改成22<m&&m<=50
y=(m-20)sp;要有乘号
还有这行下面的y是int型,不应该用%lf,改为%d