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

来源:5-14 综合练习

坚持下去灬

2019-09-03 10:16

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

  • qq_慕慕7166404
    2019-09-03 14:12:06
    已采纳

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

    坚持下去灬 回复小小疾飞

    好的,我又有新的问题了,能不能帮我看下 把1数组最大的替换成 数组2第一个元素的那个

    2019-09-05 15:32:15

    共 5 条回复 >

  • 慕UI3423937
    2019-09-26 10:41:57

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

  • qq_冷眸cruel_0
    2019-09-07 10:46:18

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

C语言入门

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

926206 学习 · 20797 问题

查看课程

相似问题