看不出來哪里錯了...
看不出來哪里錯了
#include?<stdio.h> int?fare(int?s,int?time) { ????//定義單價 ????float?kmPrice=2.3;?????????????//每公里單價 ????float?firstPrice=13;???????????//起步價 ????float?fuel=1;??????????????????//燃油附加費 ????//判斷是否為夜間乘車 ????int?plus=0; ????if(time<5||time>=23) ????{ ????????plus=0.2; ????} ????//小于三公里 ????if(s<3&&s>0) ????{ ????????return?kmPrice*(1+plus)+fuel; ????} ????else?if(s>=3)//大于等于三公里 ????{ ????????return?(firstPrice+kmPrice*(s-3))*(1+plus)+fuel; ????} } int?main() { ????int?S=2; ????printf("%d公里的價格為%f\n",S,fare(S,9)); ????return?0; }
2015-08-03
呃,后來自己發現了,fare()函數定義的返回值是int,最后printf0格式輸出是%f,把int fare()改成float fare()就可以了