看不出來哪里錯了...
看不出來哪里錯了
#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()就可以了