#include <stdio.h>float taxitee(int t,int d){ ????float money; ????if(t>=5&&t<=23) ????{ ????????if(d<=3) ????????{ ????????????money=14; ????????????printf("打車(chē)費(fèi)用是%s元",money); ????????????return 14; ????????} ??????? else ????????{ ????????????taxitee=13+2.3*(d-3)+1; ????????????printf("打車(chē)費(fèi)用是%s元",money); ????????????return money; ????????} ????} ????else if(t<=5&&t>=23) ????{ ????????if(d<=3) ????????{ ????????????money=14; ????????????printf("打車(chē)費(fèi)用是%s元",money); ????????????return 14; ????????} ????} ????else?????{ ????????money=13+2.3*1.2*(d-3)+1; ????????printf("打車(chē)費(fèi)用是%s元",money); ????????return money;???????}}int main(){ printf("小明每天打車(chē)總費(fèi)用:%f",taxitee(9,12)+taxitee(18,12)); return 0; }
1 回答
已采納

onemoo
TA貢獻(xiàn)883條經(jīng)驗(yàn) 獲得超454個(gè)贊
既然你說(shuō)是報(bào)編譯錯(cuò)誤,那應(yīng)該是有語(yǔ)法錯(cuò)誤:
if(d<=3) 這個(gè) if 的 else 中,你寫(xiě)了?taxitee=13+2.3*(d-3)+1;? ?看起來(lái)你想寫(xiě) money 吧?卻錯(cuò)寫(xiě)成了 taxitee。taxitee 是函數(shù)名,放在等于號(hào)左側(cè)自然就錯(cuò)了。
除了上面的語(yǔ)法錯(cuò)誤。 雖然你的代碼我沒(méi)有細(xì)看,但有一處明顯的邏輯問(wèn)題:
else if(t<=5&&t>=23) 這里條件中你用了邏輯與&&,這表示的條件是“t 既小于等于 5 又大于等于 23”,顯然是不可能的,顯然這個(gè)分支永遠(yuǎn)不會(huì)進(jìn)入。? 也許你應(yīng)該用邏輯或||。
- 1 回答
- 0 關(guān)注
- 1355 瀏覽
添加回答
舉報(bào)
0/150
提交
取消