不懂哪里錯了
{
? ? float sum;
? ? sum=pay(9,12)+pay(18,12);
? ? printf("小明每天打車的總費用為%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點(含)至次日凌晨5點(不含)打車,每公里單價計費加收20%,你的程序恰好是在這個時間段之外才多加20%。
2016-04-13
首先sum是float 而你函數返回的是double 無法自動轉換,然后printf里你只設了一個參數 只要一個sum就夠了。還有函數里兩個時間搞反了,而且最后不是用printf返回值,是用return 返回pay。