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

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


#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;

}


提问者:慕婉清8489725 2021-07-25 18:37

个回答

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

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