求教為什我的結果是 68.0
#include <stdio.h>
int bianTai(int t,int d)
{?
? ? float a=2.3;?
? ? float sum;
? ? if(d<=3)
? ? {
? ? ? ? sum=13+1;
? ? }
? ??
? ? else if(23<=t||t<5)
? ? {
? ? ? ? sum=(d-3)*a*1.2+13+1;
? ? }
? ? else
? ? {
? ? ? ? sum=(d-3)*a+13+1;
? ? ? ? printf("小明每天打車的總費用為%.1f元\n",sum);
? ? }
? ? return sum;
}
int main()
{
? ? float money=bianTai(9,12)+bianTai(18,12);
? ? printf("打的總費用:%.1f\n",money);
? ? return 0;
小明每天打車的總費用為34.7元 ?小明每天打車的總費用為34.7元 ?打的總費用:68.0
2016-11-30
呃。樓主是想問自己得到的結果為什么是68.0而別人是69.4咩?。。。。
如果是這個問題是因為你自定義函數的時候你設置的返回值類型為int。比如這個你的返回值是34但是別人的float返回值是34.700001(忘了具體數值了)。結果就有這么一點點不一樣了。
至于樓上那個要不要減去3,看個人理解了 = =。這題目自己不說清楚怪誰= =
2016-11-26
題意中說的事起步價就是13,所以你自建的第一個函數中的的d不應該減3,應該是sum=d*a*1.2+13+1;sum=d*a+13+1;