第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

為什么我輸入12 9 18,最后得出的是28?

#include?<stdio.h>
double?price(double?ditance,double?period)
{
????double?price3=0;
????if(ditance<3)
????{
???????price3=13;
????}???
????else?if(period<23||period>5)
????{
??????double?price3=13+(ditance-3)*2.3;
????}???
????else
????{
??????double?price3=13+(ditance-3)*2.3*1.2;
????}????
????return?price3;
}??????
int?main()
{
????double?price0=0;
????double?price1=0;
????double?price2=0;
????double?ditance1=0;
????double?period1=0;
????double?period2=0;
????scanf("%d%d%d",&ditance1,&period1,&period2);
????????price1=price(ditance1,period1);
????????price2=price(ditance1,period2);
????????price0=price1+price2+2;
????printf("小明每天打車(chē)的總費(fèi)用為%lf\n",price0);????
????return?0;
}


正在回答

3 回答

首先,你的轉(zhuǎn)換有問(wèn)題,你定義的都是double型,但你在輸入距離時(shí)間時(shí),控制符是%d整型的,這是要進(jìn)行強(qiáng)制轉(zhuǎn)化,會(huì)有誤差,然后你又將實(shí)參傳遞給了形參,而形參又是double型,本來(lái)經(jīng)過(guò)第一次轉(zhuǎn)換都有誤差了怎么還能正確,能得到28只是因?yàn)榻?jīng)過(guò)這兩次之后,錯(cuò)誤更多,你傳給形參的ditance已經(jīng)變成了0,此時(shí)price3=13,下面的判斷語(yǔ)句不在進(jìn)行,然后它返回了結(jié)果。所以你得到了13+13+2=28.不要去想其他的,你這代碼思路都沒(méi)錯(cuò),關(guān)鍵是你對(duì)類(lèi)型轉(zhuǎn)換的理解,強(qiáng)制轉(zhuǎn)換最好少用。

第二,你自創(chuàng)的函數(shù)體中那么多的條件語(yǔ)句,你只有一個(gè)返回值,你是要返回那個(gè)?雖然你能得到28是因?yàn)榉祷刂禐?3,但,如果你將%d改為%lf后,會(huì)出現(xiàn)返回值為0的情況,是因?yàn)榇藭r(shí)你的ditance已經(jīng)為12,不滿足<3的情況,需要繼續(xù)往下判斷,而此時(shí),又有兩個(gè)判斷結(jié)果,你沒(méi)有明確,雖然說(shuō)返回值只有一個(gè),但不代表你不能多用return。

0 回復(fù) 有任何疑惑可以回復(fù)我~
#include?<stdio.h>
double?price(double?ditance,double?period)
{
	double?Price;
????if(ditance<3)
????{
??????double?Price=13;
????}???
????else?if(period<23||period>5)
????{
??????double?Price=13+(ditance-3)*2.3;
????}???
????else
????{
??????double?Price=13+(ditance-3)*2.3*1.2;
????}????
????return?Price;
}??????
int?main()
{
????//double?price0;
????double?price1;
????//double?price2;
????//double?ditance1;
????//double?period1;
????//double?period2;
????//scanf("%d,%d,%d",&ditance,&period1,&period2);
????????price1=price(12,9);
???????//?price2=price(12,18);
????????//price0=price1+price2;
????printf("小明每天打車(chē)的總費(fèi)用為%lf\n",price(12,9));????
????return?0;
}

為什么我定義的函數(shù)輸出的是0?

0 回復(fù) 有任何疑惑可以回復(fù)我~
#1

qq_劉某_1

建議你把前面幾章的內(nèi)容好好看看,你先定義了一個(gè)靜態(tài)函數(shù) 價(jià)格,然后又在if里定義了動(dòng)態(tài)函數(shù)價(jià)格,所以最后返回值時(shí),返回的是空的靜態(tài)函數(shù)。
2017-08-27 回復(fù) 有任何疑惑可以回復(fù)我~
#2

qq_劉某_1

建議你把前面幾章的內(nèi)容好好看看,你先定義了一個(gè)靜態(tài)函數(shù) 價(jià)格,然后又在if里定義了動(dòng)態(tài)函數(shù)價(jià)格,所以最后返回值時(shí),返回的是空的靜態(tài)函數(shù)。
2017-08-27 回復(fù) 有任何疑惑可以回復(fù)我~

你的程序太冗長(zhǎng)復(fù)雜了,我看了半天,其實(shí)錯(cuò)在你最后的scanf,給距離賦值0然后進(jìn)行計(jì)算,相當(dāng)于你上車(chē)打個(gè)表就下車(chē)了,所以起步價(jià)加燃油費(fèi)double就是28了

0 回復(fù) 有任何疑惑可以回復(fù)我~
#1

慕無(wú)忌5114327 提問(wèn)者

非常感謝您能認(rèn)真地看完我的程序,但是現(xiàn)在的是問(wèn)題是為什么我定義的函數(shù)輸出的是0?
2017-08-24 回復(fù) 有任何疑惑可以回復(fù)我~

舉報(bào)

0/150
提交
取消

為什么我輸入12 9 18,最后得出的是28?

我要回答 關(guān)注問(wèn)題
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)