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

C语言入门5-14练习中,怎么得不到小数?

C语言入门5-14练习中,怎么得不到小数?

C
月飞 2015-11-24 09:25:32
北京市出租车打车计费规则如下:1. 每公里单价计费2.3元2. 起步价13元(包含3公里)3. 晚上23点(含)至次日凌晨5点(不含)打车,每公里单价计费加收20%。4. 每次乘车加收1元钱的燃油附加税。小明每天上下班都要打车,公司和家的距离为12公里,上午上班时间为9点,下午下班时间为6点。请编写一个小程序计算小明每天打车的总费用。我写的:#include <stdio.h> int fn(int x,int t) {     float price;     float cost;     if(x<=3)     {         cost=13;     }     else     {         if(t<5&&t>=23)             {                 price=2.3*1.2;             }         else             {                 price=2.3;             }         cost=13+price*(x-3);     }     return cost; } int main() {     float cost1,cost2,cost;     cost1=fn(12,9);     cost2=fn(12,18);     cost=cost1+1+cost2+1;     printf("%f,%f,%f\n",cost,cost1,cost2);     return 0; }结果是68.000000 33.000000 33.000000
查看完整描述

1 回答

已采纳
?
DKSky

TA贡献31条经验 获得超21个赞

函数的返回值是int,最后只是将int赋值给float,当然小数只有0了

查看完整回答
1 反对 回复 2015-11-24
  • 月飞
    月飞
    多谢! 定义函数时,把数据类型改成float?
  • DKSky
    DKSky
    定义函数时,形参和返回值类型根据你的情况来定,在这里返回值类型当然要为float
  • 1 回答
  • 0 关注
  • 1264 浏览

添加回答

举报

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