每天總費用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; }
2015-02-28
float類型的精度不夠,在多次運算后結果就會有誤差。你的這個程序要求的精度應該也不會太高,換成double應該就好了。
另外,sun函數中的sp和p變量都沒有使用。