C语言程序设计的题目,图一第三题,图二是我自己编程出来的,编译都没问题,就是得不出老师给出的答案

C语言程序设计的题目,图一第三题,图二是我自己编程出来的,编译都没问题,就是得不出老师给出的答案我们老师给了两个截图,让我们自己编程,得出的结果要跟她的一样(图三)
我就是18.6,21的那个一直算的等于55,得不出58。我怀疑是我的算式列错了,但是找不出问题。。。可能是题意理解错了。。。
求大神帮我一下呗拜托啦‪( ⸝⸝⸝•_•⸝⸝⸝ )‬♡

算法全错了。1~8行,money应为float型。其余都可以。从第9行开始到第20行,就没有对的了。逻辑全错。

#include <stdio.h>
int main()
{
int t;
float s,a,money;
scanf("%f,%d",&s,&t);
if(s<=0||t<=0)
printf("Input error!");
else
{
if(s<=3) a=10;
else if(s<=10) a=10+(s-3)*2;
else a=10+(10-3)*2+(s-10)*3;
t=t/5*2;
money=a+t;
printf("%.f",money);
}
return 0;
}追问

为什么是(10-3)*2,而不是直接10*2,不是超过起步路程3公里的10公里内是2元一公里吗?

追答

你把你问的这句话再仔细看看,就知道为什么了。

追问

我的理解是,三公里以内是10元,三公里以外的十公里内(即10公里)是2元一公里,三公里后的十公里以外(即13公里后)是3元一公里

追答

你没坐过出租车?你理解错了。
10公里以内,不超过3公里的,起步价。超过3公里的,在起步价的基础上,每公里2元。

追问

好吧。。。我坐过但是没研究过,如果是那种意思那我懂了。。。

谢谢了~

追答

10公里以内,不超过3公里的,起步价。超过3公里的,在起步价的基础上,每公里2元。

超过10公里的,每公里3元。

追问

噢噢噢。。谢谢了

温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-10-29
if else 出了问题,t 如果小于5,m2就没算了追问

m2 是路程啊。。。跟时间。。有关。。?😳

追答

t<5 的话,执行 {m1=0;} 整个if else 判断全部结束了,下面的else if 不会再判断

追问

啊,我懂了,那么如果我分开来呢?就是时间与路程分开来用if else

追答

那就不会出这个问题了

相似回答