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

为什么float类型总是算出来是近似值?

#include<stdio.h>


//计算正常里程价格

double fDistance(float n)    

{

double u = 2.3;

double p = 0.0;

if (n <= 3.0 && n > 0.0)     //里程合法性

{

return 13.0;

}

else if (n > 3.0)

{

p = u * (n-3.0) + 13.0;      //加上基础13元,减去3km基础里程

return p;

}

else     

{

printf("里程数据错误\n");

return 0.0;

}

}


//计算时间段价格增加部分

double fTime(float t)

{

if (t < 23.0 && t >= 5.0)

{

return 1.0;

}

else if(t<24.0 && t>0.0)     //时间合法性

{

printf("时间数据错误\n");

return 0.0;

}

else

{

return 1.2;

}

}


int main()

{

double Total1 = 0.0;

double Total2 = 0.0;


Total1 = fDistance(12.0) * fTime(9.0)+1.0; //加额外的燃油附加费

Total2 = fDistance(12.0) * fTime(18.0)+1.0;

printf("小明每天打车费用总计:%lf 元",Total1+Total2);

return 0;

}


正在回答

1 回答

float是浮点数,秒了

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

举报

0/150
提交
取消

为什么float类型总是算出来是近似值?

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