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

每天总费用69.400002,不知道后面2怎么来的

#include <stdio.h>
float sun(int time, int dis){
    float sp = 13, p = 2.3, sum = 0;
    
    if(dis<=3){
        sum = 13+1;
    }else{
        if(time>=23 || time<5){
            sum = 13+(dis-3)*2.3*1.2+1;
        }else{
            sum = 13+(dis-3)*2.3+1;
        }
    }
    return sum;
}
int main()
{
    float sum = sun(9,12)+sun(18,12);
    printf("总费用:%f",sum);
    return 0;
}


正在回答

1 回答

float类型的精度不够,在多次运算后结果就会有误差。你的这个程序要求的精度应该也不会太高,换成double应该就好了。


另外,sun函数中的sp和p变量都没有使用。

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

举报

0/150
提交
取消

每天总费用69.400002,不知道后面2怎么来的

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