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

请大佬看下输出结果为什么是69.400002,是不是把什么定义搞混了,谢谢

#include <stdio.h>

float carmoney(int t, int n, int l)

//t: 时间,  n: 乘车次数, l: 距离

{

    float sum = 0;

    if(l<=3)

    {

        sum = 13 * n + n * 1;

    }

    else

    {

        if(t>=23||t<5)

        {

            sum = (13 + (l - 3) * 2.3 * 1.2 + 1) * n;

        }

        else

        {

            sum = (13 + (l - 3) * 2.3 + 1) * n;

        }

    }

    return sum;

}

int main()

{

    float daymoney;

    daymoney = carmoney(18, 1, 12) + carmoney(9, 1, 12);

    printf("小明每天打车总费用:%f\n", daymoney);

    return 0;

}


正在回答

2 回答

float类型和double类型的输出都用"%f",而"%f"输出默认是保留6位小数的。

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

float改成double

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

举报

0/150
提交
取消

请大佬看下输出结果为什么是69.400002,是不是把什么定义搞混了,谢谢

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