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

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


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

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

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

慕婉清8489725 提问者

666果然是这样,膜拜一下
2021-08-01 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

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

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