搞不懂,求大佬,謝謝
為什么運行錯誤呢?謝謝大佬
#include <stdio.h>
float money(int mild,int tim)
{
? ? float fee
? ? if(mild<=13)
? ? {
? ? ? fee=14;
? ? ?
? ? }
? ? else(mild>13)
? ? {
? ? ? ? if(tim>=23&&tim<5)
? ? ? ? {
? ? ? ? ? ?fee=((mild-13)*2.3)*1.2+14;
? ? ? ? ? ??
? ? ? ? ? ??
? ? ? ? ? ??
? ? ? ? }
? ? ? ? else(tim>=5&&tim<23)
? ? ? ? {
? ? ? ? ? ? fee=(mild-13)*2.2+14;
? ? ? ? ? ??
? ? ? ? ? ??
? ? ? ? }
? ? }
? ? return fee; ? ?
}
int main()
{
? ? printf("小明需要花費%f.",money(12,9)+money(12,18));
? ? return 0;
}
2018-08-25
//你的float?那個語句后面沒分號,然后else后面是沒有條件的,如果你要加個條件的話,就用else?if, #include?<stdio.h> float?money(int?mild,int?tim) { ????float?fee; ????if(mild<=13) ????{ ??????fee=14; ????} ????else?if(mild>13) ????{ ????????if(tim>=23&&tim<5) ????????{ ???????????fee=((mild-13)*2.3)*1.2+14; ????????} ????????else?if?(tim>=5&&tim<23) ????????{ ????????????fee=(mild-13)*2.2+14; ????????} ????} ????return?fee; } int?main() { ????printf("小明需要花費%f.",money(12,9)+money(12,18)); ????return?0; }2018-08-25
float money(int mild,int tim) ? //這個參數 mild 定義的是什么,我覺得你想定義的是路程。
fee=(mild-13)*2.2+14
?fee=((mild-13)*2.3)*1.2+14 ?//這兩個公式都是想表達mild為路程吧。而且為什么一個*2.2,另一個*2.3呀,筆誤了吧。
但是
? ? if(mild<=13) ?// 13是3公里的起步價,是一個價格。你用mild - 13,是用距離(公里)- 價格(元)??
這里是不是和你最開始定義的參數含義不符合了。我猜你想寫的應該是if(mild <= 3)吧。后面也一樣。