有哪里出错了吗?初学者

2.某城市出租车收费标准为:“起步里程3km,起步费6元;超起步里程后8km内,每公里租费1.8元;超过8km以上的部分加收50%的回空补贴费,即每公里租费2.7元。营运过程中,因路阻及乘客要求临时停车的,每5min按1km租费计收。运价计费尾数四舍五入保留到元。”编写程序,输入行驶里程(公里)和等待时间(分钟),计算并输出乘客应支付的车费(元)。
#include<stdio.h>
int main()
{double s,t,c,x,y;
printf("请输入行驶里程(km)和等待时间(min):\t");
scanf("%lf,%lf\n",&s,&t);
if(t<5)
{if(s<=3)
c=6;
else{if(s>3&&s<=8)
c=6+1.8*(s-3);
else
c=6+1.8*(8-3)+2.7*(s-8);
}
y=(int)(c+0.5);
printf("乘客应支付的车费:%.0f(元)",y);
}
else
x=s+(int)(t/5);
{if(x<=3)
c=6;
else{if(x>3&&x<=8)
c=6+1.8*(x-3);
else
c=6+1.8*(8-3)+2.7*(x-8);
}
y=(int)(c+0.5);
printf("乘客应支付的车费:%.0f(元)",y);}
return 0;
}

这里else大括号没写对,你这样最后两种情况的都会输出

img


修改后

#include<stdio.h>
int main()
{double s,t,c,x,y;
printf("请输入行驶里程(km)和等待时间(min):\t");
scanf("%lf,%lf\n",&s,&t);
if(t<5)
{if(s<=3)
c=6;
else{if(s>3&&s<=8)
c=6+1.8*(s-3);
else
c=6+1.8*(8-3)+2.7*(s-8);
}
y=(int)(c+0.5);
printf("乘客应支付的车费:%.0f(元)",y);
}
else{
x=s+(int)(t/5);
if(x<=3)
c=6;
else{if(x>3&&x<=8)
c=6+1.8*(x-3);
else
c=6+1.8*(8-3)+2.7*(x-8);
}
y=(int)(c+0.5);
printf("乘客应支付的车费:%.0f(元)",y);}
return 0;
}

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632