喜居
2018-11-21 18:42
#include <stdio.h>
int charge(float clock,float mile)
{
float money;
if(clock<5&&clock>=23)
{
if(mile<=3)
{
money=14;
}
money=13+((mile-3)*2.76)+1;
}
else
{
money=13+((mile-3)*2.3)+1;
}
return money;
}
int main()
{
printf("%.2f",charge(9,12)+charge(18,12));
return 0;
}
自定义函数为int型,与形参,实参均不符
“ if(mile<=3)
{
money=14;
}
money=13+((mile-3)*2.76)+1; ”
此执行体中漏了 else
else的情况中也要分mile是大于3,还是小于3.
出租车收费问题中应该要注意到超过3公里后不足1公里也会按1公里收费,所以涉及到一个取整的问题。这里注意,在自定义函数中,无法调用【 】取整符号,可以通过自定义int型变量来实现。
取整中还要注意,当公里数为整数与非整数时,费用计算的差异。
参考代码:
int p;
p=mile-3;
money=14+p*2.3;
if(money<(14+(mile-3)*2.3))
money+=2.3;
(祝你敲出完美的代码!)
C语言入门
926020 学习 · 20793 问题
相似问题