求教为什我的结果是 68.0

来源:5-14 综合练习

qq_二狗君_0

2016-11-26 14:49

#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回答

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

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

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

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

    qq_二狗君...

    非常感谢!

    2016-12-02 07:02:41

    共 1 条回复 >

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

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

    qq_二狗君... 回复qq_踩了口...

    如果d等于4而且现在是白天,sum=(4-3)*2.3+13+1; 如果按照你的思路 sum=4*2.3+13+1;

    2016-11-27 09:37:43

    共 2 条回复 >

C语言入门

C语言入门视频教程,带你进入编程世界的必修课-C语言

926021 学习 · 20793 问题

查看课程

相似问题