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

请问为何我这个算出来是这样:68.00这么整数

请问为何我这个算出来是这样:68.00这么整数

C
慕标122149 2017-06-09 04:08:51
题目:北京市出租车打车计费规则如下:1. 每公里单价计费2.3元2. 起步价13元(包含3公里)3. 晚上23点(含)至次日凌晨5点(不含)打车,每公里单价计费加收20%。4. 每次乘车加收1元钱的燃油附加税。小明每天上下班都要打车,公司和家的距离为12公里,上午上班时间为9点,下午下班时间为6点。请编写一个小程序计算小明每天打车的总费用。 代码:#include <stdio.h>int money(float m,float t){    float sum;    if((t<24&&t>=23)||(t>=0&&t<5)){        sum=13+(m-3)*2.3*1.2+1;    }else{        sum=13+(m-3)*2.3+1;    }    return sum;}int main(){    float total,sum1, sum2;    sum1=money(12,9);    sum2=money(12,18);    total=sum1+sum2;    printf("小明打车费用为:%.2f\n",total);    return 0;}运算结果:68.00
查看完整描述

1 回答

?
望远

TA贡献1017条经验 获得超1032个赞

因为money函数定义的返回值类型为int,在sum返回的时候被强转了,损失了精度。

查看完整回答
1 反对 回复 2017-06-09
  • 1 回答
  • 0 关注
  • 1215 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信