为什么单独计算都是对的,反而算总和的时候就不对呢

来源:5-14 综合练习

慕婉清8489725

2021-07-25 18:37


#include <stdio.h>

int fee(int h,int s)

{   

    double sum;

    if(s>3)

    {    if((h>=23&&h<=24)||(h>=0&&h<5))

        {

            sum=13+(s-3)*2.3*1.2;

        }

        else

        {

            sum=13+(s-3)*2.3;

        }

    }

    else

    {

        sum=13;

        

    }

    sum++;

    printf("小明%d时乘车%d公里花费%.1f\n",h,s,sum);

    return sum;

}

int main()

{   

    double sum1=fee(9,12);

    double sum2=fee(18,12);

    double sum=sum1+sum2;

    printf("小明共花费%.1f\n",sum);

    return 0;

}


写回答 关注

1回答

  • 纪月
    2021-07-28 15:41:12
    已采纳

    因为定义fee函数用的是int,所以返回的时候本来是34.7,结果返回了34.所以只要把int改成double,用double定义fee函数就可以了

    慕婉清848...

    666果然是这样,膜拜一下

    2021-08-01 17:49:31

    共 1 条回复 >

C语言入门

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

926213 学习 · 20797 问题

查看课程

相似问题