請大神幫我看看對不對
我知道我這樣寫很啰嗦,但畢竟是我自己的想法,錯誤多的話還請指出,謝謝
#include?<stdio.h> float?fee(int?dis,int?t) {??? ????float?money; ????int?flag; ????if(5>t||t>=23) ????{flag=1;} ????else ????{flag=0;} ????if(dis<=3) ????{ ????????money=14; ????????printf("車費為%f元。\n",money); ????} ????else ????{ ????if(flag==1) ????{ ????????money=13+1+(dis-3)*2.3; ????} ????else ????{ ????????money=13+1+(dis-3)*2.3*1.2; ????} ????return?money; int?main() { ????printf("小明打車費用為%d元",fee(12,9)+fee(12,18)); ????return?0; }
2016-03-14
float?fee(int?dis,int?t)逗號格式換成英文的,??return?money;后面加}},你缺了兩個大括號的后半部分,條件中的燃油費是不分時段的所以就沒必要加flag,條件的需要寫出來的只有兩個時間和距離,你這個我能改的就這么多,不過金額還不對
2016-03-31
這個就是根據你的改的,其中的錯誤,除了樓上那位所說的錯誤,最重要的是,你把flag的情況搞反了!應該是當flag==1時,*1.2,因為你的條件是t>5||t<=23,這個時間段應該是加錢,結果你給搞反了
2016-03-31
#include <stdio.h>
float fee(int dis,int t)
{ ??
? ? float money;
? ? if(dis<=3)
? ? ? ? money=14;
? ??
? ? else
? ? {
? ? ? ? if(t<5||t>=23)
? ? ? ? ? ? money=13+1+(dis-3)*2.3*1.2;
? ? ? ? else
? ? ? ? ? ? money=13+1+(dis-3)*2.3;
? ? }
? ? return money;
}
int main()
{
? ? printf("小明打車費用為%.2f元",fee(12,9)+fee(12,18));
? ? return 0;
}