问答详情
源自:5-14 综合练习

求教为什我的结果是 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

提问者:qq_二狗君_0 2016-11-26 14:49

个回答

  • BAD丶Apple
    2016-11-30 20:57:54
    已采纳

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

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

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

  • qq_踩了口香糖_04206687
    2016-11-26 22:35:06

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