為什么算出來0
#include <stdio.h>
int money(int a,int s)
{
? int sum;
? if(s<=3) sum==14;
? else if((a>=23&&a<24)||(a<5&&a>0)) sum==1+2.3*1.2*(s-3);
? else sum==1+2.3*(s-3);
}
int main()
{
?? int all;
?? all==money(9,12)+money(18,12);
?? printf("小明每天打車%d元",all);
??? return 0;
}
2018-09-06
#include <stdio.h>
float price(int time,int distance)
{
? ? float percost=2.3,pay;
? ? if(time>=23&&time<5)
? ? ? ? percost+=percost*0.2;
? ? if(distance<=3)
? ? ? ? return 14;
? ? else
? ? {
? ? ? ? pay=13+(distance-3)*percost+1;
? ? ? ? return pay;
? ? }
}
int main()
{
? ? int time1=9,time2=18,distance=12;
? ? float pay1=price(time1,distance);
? ? float pay2=price(time2,distance);
? ? printf("%.2f\n",pay1+pay2);
? ? return 0;
}
2018-09-06
同上而且。。。題意你也還沒看明白。 少了一個13.。
2018-09-04
剛開始,我跑不了你的代碼。改了一丟丟。
#include <stdio.h>
int money(int a,int s)
{
? int sum;
? if(s<=3)
? {
? sum=14; // == 是關系運算符,我們需要賦值運算符,你幾乎每一處都寫了關系運算符
? }
? else if((a>=23&&a<24)||(a<5&&a>0))
? {
? sum=1+2.3*1.2*(s-3);
? }
? else?
? {
? sum=1+2.3*(s-3);
? }
? return sum; //你原本的函數沒有返回的值,相當于這個函數只有輸入沒有輸出
}
int main()
{
? ?int all;
? ?all=money(9,12)+money(18,12); //因為沒返回值,這里自然會有錯誤
? ?printf("小明每天打車%d元",all);
? ?return 0;
}
這樣跑出來的結果是:小明每天打車42元
同小白勉強解釋,你自己再改一改吧。加油。