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

为什么我输出的答案是68 整数 不是69.4呢

#include <stdio.h>

float tim,km,money;

int part(float tim,float km)

{

    if(tim>5&&tim<23)

    {

        if(km<=3)

        {

        money=14;

        }

        else 

        {

            money=13+(km-3)*2.3+1;

            printf("白天费用为%f\n",money);

            }

        return money;

    }

    else if(tim>=23||tim<=5)

    {

        if (km<=3)

        money=14;

        else 

        {money=13+(km-3)*2.3*1.2+1;

        printf("晚上天费用为%f",money);}

        return money;

    }  

    else

    return 0;

    

    

}



int main()

{   

    float sum;

    sum=part(9,12)+part(18,12);

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

    return 0;

}




输出的结果:

白天费用为34.700001
白天费用为34.700001
小明每天打车的总费用是68.0元


正在回答

3 回答

条件判断语句就有问题了,时间大于等于23或者时间小于5,并不是小于等于

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

坚持下去灬 提问者

这个只是细节问题,并不是我问的这个问题。
2019-09-03 回复 有任何疑惑可以回复我~
#2

小小疾飞 回复 坚持下去灬 提问者

返回类型不是int
2019-09-04 回复 有任何疑惑可以回复我~
#3

坚持下去灬 提问者 回复 小小疾飞

谢谢 因为你不是单独恢复的帖子,而是在别人的下面再次回复,,采用了 也算在采用的别人的了。
2019-09-05 回复 有任何疑惑可以回复我~
#4

小小疾飞 回复 坚持下去灬 提问者

没事呢 能解决你的问题就好
2019-09-05 回复 有任何疑惑可以回复我~
#5

坚持下去灬 提问者 回复 小小疾飞

好的,我又有新的问题了,能不能帮我看下 把1数组最大的替换成 数组2第一个元素的那个
2019-09-05 回复 有任何疑惑可以回复我~
查看2条回复

part 执行结果应该是34.7  为什么后面还有0001

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

因为你的part函数定义为int,应该是这个原因吧

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

举报

0/150
提交
取消
C语言入门
  • 参与学习       926020    人
  • 解答问题       20793    个

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

进入课程

为什么我输出的答案是68 整数 不是69.4呢

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