为了账号安全,请及时绑定邮箱和手机立即绑定

求教为什我的结果是 68.0

#include <stdio.h>

int bianTai(int t,int d)

    float a=2.3; 

    float sum;

    if(d<=3)

    {

        sum=13+1;

    }

    

    else if(23<=t||t<5)

    {

        sum=(d-3)*a*1.2+13+1;

    }

    else

    {

        sum=(d-3)*a+13+1;

        printf("小明每天打车的总费用为%.1f元\n",sum);

    }

    return sum;

}

int main()

{

    float money=bianTai(9,12)+bianTai(18,12);

    printf("打的总费用:%.1f\n",money);

    return 0;


小明每天打车的总费用为34.7元  小明每天打车的总费用为34.7元  打的总费用:68.0

正在回答

2 回答

呃。楼主是想问自己得到的结果为什么是68.0而别人是69.4咩?。。。。

如果是这个问题是因为你自定义函数的时候你设置的返回值类型为int。比如这个你的返回值是34但是别人的float返回值是34.700001(忘了具体数值了)。结果就有这么一点点不一样了。

至于楼上那个要不要减去3,看个人理解了 = =。这题目自己不说清楚怪谁= =

0 回复 有任何疑惑可以回复我~
#1

qq_二狗君_0 提问者

非常感谢!
2016-12-02 回复 有任何疑惑可以回复我~

题意中说的事起步价就是13,所以你自建的第一个函数中的的d不应该减3,应该是sum=d*a*1.2+13+1;sum=d*a+13+1;

0 回复 有任何疑惑可以回复我~
#1

qq_踩了口香糖_04206687

不管你走了多远,只要你打的就要交13,然后再判断你走的距离
2016-11-26 回复 有任何疑惑可以回复我~
#2

qq_二狗君_0 提问者 回复 qq_踩了口香糖_04206687

如果d等于4而且现在是白天,sum=(4-3)*2.3+13+1; 如果按照你的思路 sum=4*2.3+13+1;
2016-11-27 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

求教为什我的结果是 68.0

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信