求大佬解答哪里不對
#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;
??? }
2018-11-21
自定義函數(shù)為int型,與形參,實參均不符
“ if(mile<=3)
??????? {
??????????? money=14;
??????? }
??????? money=13+((mile-3)*2.76)+1; ”
此執(zhí)行體中漏了 else
else的情況中也要分mile是大于3,還是小于3.
出租車收費問題中應該要注意到超過3公里后不足1公里也會按1公里收費,所以涉及到一個取整的問題。這里注意,在自定義函數(shù)中,無法調用【 】取整符號,可以通過自定義int型變量來實現(xiàn)。
2018-11-21
取整中還要注意,當公里數(shù)為整數(shù)與非整數(shù)時,費用計算的差異。
參考代碼:
? ? ? ? int p;
? ? ? ? p=mile-3;
? ? ? ? money=14+p*2.3;
? ? ? ? if(money<(14+(mile-3)*2.3))
? ? ? ?money+=2.3;
(祝你敲出完美的代碼?。?/p>