輸出結果?
#include <stdio.h>
float sum=0,univalent=2.3;
float price(int km,int Time)
{
? ? float start=13;
? ? if(km<=3)
? ? {
? ? ? ?sum=start+1;?
? ? }
? ? else
? ? {
? ? ? ? if(5<=Time<23)
? ? ? ? sum=start+1+(km-3)*univalent;
? ? ? ? else
? ? ? ? sum=start+1+(km-3)*univalent*1.2;
? ? }
? ? return sum;
}
int main()
{
? ? float money;
? ? int a=9,b=18,km=12;
? ? money=price(km,a)+price(km,b);
? ? printf("小明每天的打車費用:%f\n",money);
? ? return 0;
}
輸出結果為什么不是69.400000,而是69.399994,而且還發現一個問題,不是在5點與23點之間的時間,輸出結果還是69.4,也就是說加收20%那步不起作用,求大牛指教,謝謝!
2018-07-21
if(Time>=5&&Time<23)判斷語句只能進行一次計算,所以要加&&與邏輯計算來實現
2018-07-20
晚上23點(含)至次日凌晨5點(不含)打車,每公里單價計費加收20%。 ? 這句是這樣嗎?if(5<=Time<23)