不懂哪里錯(cuò)了
{
? ? float sum;
? ? sum=pay(9,12)+pay(18,12);
? ? printf("小明每天打車的總費(fèi)用為%f\n",pay,distance,time);
? ??
}
#include <stdio.h>
double pay(int time,int distance)
{
? ? double pay;
? ? if(time<5||time>23)
{
? ? if(distance<=3)
? ? pay=14;
? ? else?
? ? pay=14+(distance-3)*2.3;
}
? ?else
? ?{
? ? ? ?if(diatance<=3)
? ? ? ?{
? ? ? ? ? ?pay=14;
? ? ? ?}
? ? ? ?else?
? ? ? ?pay=14+(distance-3)*2.3*1.2;
? ? ? ?}
? ? ? printf("pay=%f\n",pay);
? ? ??
? ?}
? ??
? ??
int main()
2016-04-03
你這是弄反了吧,題目說明的是在?晚上23點(diǎn)(含)至次日凌晨5點(diǎn)(不含)打車,每公里單價(jià)計(jì)費(fèi)加收20%,你的程序恰好是在這個(gè)時(shí)間段之外才多加20%。
2016-04-13
首先sum是float 而你函數(shù)返回的是double 無法自動(dòng)轉(zhuǎn)換,然后printf里你只設(shè)了一個(gè)參數(shù) 只要一個(gè)sum就夠了。還有函數(shù)里兩個(gè)時(shí)間搞反了,而且最后不是用printf返回值,是用return 返回pay。