第4章--習(xí)題解析---邏輯思維_第1頁
第4章--習(xí)題解析---邏輯思維_第2頁
第4章--習(xí)題解析---邏輯思維_第3頁
第4章--習(xí)題解析---邏輯思維_第4頁
第4章--習(xí)題解析---邏輯思維_第5頁
已閱讀5頁,還剩3頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上第4章 習(xí)題解析-邏輯思維13個(gè)人比飯量大,每個(gè)人說了兩句話。 A說:B比我吃得多,C和我吃得一樣多。 B說:A比我吃得多,A也比C吃得多。 C說:我比B吃得多,B比A吃得多。 事實(shí)上飯量越小的人講對(duì)的話越多。請(qǐng)編程按飯量的大小輸出3個(gè)人的順序。 算法分析: 1)把每個(gè)人的飯量分別用整數(shù)1,2,3來表示,數(shù)字越大就表示這個(gè)人的飯量越大,由于題目中A說的話中提到了有可能兩個(gè)人的飯量相同,也就是說代表3個(gè)人飯量的數(shù)字有可能相等。2)用一個(gè)三重循環(huán)來枚舉每個(gè)人的飯量,分別用A,B,C表示這3個(gè)人的飯量。將這3個(gè)人說的話As,Bs,Cs寫成表達(dá)式: As=(BA)+(C=A)

2、; Bs=(AB)+(AC); Cs=(CB)+(BA);3)根據(jù)題意,飯量越小的人講對(duì)的話越多,也就是說,不存在兩個(gè)人,其中一個(gè)人的飯量比另一個(gè)人小,且說對(duì)的話不比另一個(gè)人多。當(dāng)變量滿足這個(gè)條件時(shí),就可以輸出這組解了。 #include / 4-1-飯量比較參考程序 int main( ) int A,B,C,as,bs,cs; /定義3個(gè)變量,分別表示3個(gè)人 for (A=1;A=3;A+) / 枚舉A for (B=1;B=3;B+) / 枚舉B for (C=1;CA)+(C=A); bs=(AB)+(AC); cs=(CB)+(BA); if (!(A=B)&(as=bs)|(A=C

3、)&(as=cs) |(B=C)&(bs=cs)|(B=A)&(bs=as) |(C=A)&(cs=as)|(C=B)&(cs=bs) cout A= A endl; cout B= B endl; cout C= C endl; /輸出結(jié)束 /循環(huán)結(jié)束 return 0; 輸出結(jié)果:A=3 B=1 C=224名專家對(duì)4款賽車進(jìn)行評(píng)論A說:2號(hào)賽車是最好的。 B說:4號(hào)賽車是最好的。 C說:3號(hào)不是最佳賽車。 D說:B說錯(cuò)了。 事實(shí)上:只有一款賽車最佳,且只有一名專家說對(duì)了,其他3人都說錯(cuò)了。請(qǐng)編程輸出最佳車的車號(hào),以及哪位專家說對(duì)了。 算法分析 根據(jù)題意,只有一款賽車最佳。這就有4種情況,可

4、以枚舉這4種情況,采用循環(huán)結(jié)構(gòu),令變量為BestCar,取4個(gè)可能的車號(hào)。 將A,B,C,D說的話與BestCar聯(lián)系起來,有As=(BcstCar=2);Bs=(BestCar=4);Cs=(BestCar!3);Ds=(BestCar!4);根據(jù)題意,只有一名專家說對(duì),因此在程序中使用如下的判定條件:if (As+Bs+Cs+Ds=1)即可判定BestCar的取值,就是最佳車號(hào),同時(shí)再測(cè)試As,Bs,Cs,Ds哪個(gè)取值為1,就輸出該專家。 #include / 4-2, 最佳汽車參考程序 int main( ) int car,as,bs,cs,ds; for (car=1;car=4;c

5、ar+) / 枚舉每款汽車 as=(car=2); bs=(car=4); cs=(car!=3); ds=!bs; if (as+bs+cs+ds=1) cout car car endl; if (as=1) cout A endl; if (bs=1) cout B endl; if (cs=1) cout C endl; if (ds=1) cout D endl; /輸出結(jié)束 /循環(huán)結(jié)束 return 0; 輸出結(jié)果:car 3 , 4號(hào)專家說對(duì)了 35位跳水高手參加10m高臺(tái)跳水決賽,有好事者讓5人據(jù)實(shí)力預(yù)測(cè)比賽結(jié)果。 A選手說:B第二,我第三; B選手說:我第二,E第四; C選手

6、說:我第一,D第二; D選手說:C最后,我第三; E選手說:我第四,A第一; 決賽成績(jī)公布之后,每位選手的預(yù)測(cè)都只說對(duì)了一半,即一對(duì)一錯(cuò)。請(qǐng)編程解出比賽實(shí)際名次。算法分析: 用變量A,B,C,D,E表示5個(gè)選手的排名,取值在l,2,3,4,5。 枚舉每個(gè)選手的名次,這可以通過一個(gè)五重循環(huán)來實(shí)現(xiàn)。根據(jù)題意,每個(gè)人說的話可以寫成如下形式:As=(B=2)+(A=3);Bs=(B=2)+(E=4);Cs=(C=1)+(D=2);Ds=(C=5)+(D=3);Es=(E=4)+(A=1);由于每個(gè)人只說對(duì)了一句話,即判定條件為:if(As=1&Bs=1&Cs=1&Ds=1&Es=1)每個(gè)人名次不同:A

7、BCDE這樣就可以判定出每個(gè)選手的名次了,然后再按排名順序輸出即可。 #include / 習(xí)題4.3-跳水名次 int main( ) int A,B,C,D,E,ta,tb,tc,td,te; for (A=1;A=5;A+) / 枚舉A for (B=1;B=5;B+) / 枚舉B for (C=1;C=5;C+) / 枚舉C for (D=1;D=5;D+) / 枚舉D for (E=1;E=5;E+) / 枚舉E ta=(B=2)+(A=3); tb=(B=2)+(E=4); tc=(C=1)+(D=2); td=(C=5)+(D=3); te=(E=4)+(A=1); if(ta=

8、1)&(tb=1)&(tc=1)&(td=1)&(te=1)& (A!=B)&(A!=C)&(A!=D)&(A!=E) &(B!=A)&(B!=C)&(B!=D)&(B!=E) &(C!=A)&(C!=B)&(C!=D)&(C!=E) &(D!=A)&(D!=B)&(D!=C)&(D!=E) &(E!=A)&(E!=B)&(E!=C)&(D!=E) /輸出判斷結(jié)果 cout A= A endl; cout B= B endl; 21 cout C= C endl; 22 cout D= D endl; 23 cout E= E endl; 24 25 / 循環(huán)結(jié)束26 return 0;27

9、輸出結(jié)果 A=3 B=2 C=5 D=2 E=44我國(guó)有4大淡水湖。A說:洞庭湖最大,洪澤湖最小,鄱陽湖第三。B說:洪澤湖最大,洞庭湖最小,鄱陽湖第二,太湖第三。C說:洪澤湖最小,洞庭湖第:。D說:鄱陽湖最大,太湖最小,洪澤湖第二,洞庭湖第三。4個(gè)人每個(gè)人僅答對(duì)了一個(gè),請(qǐng)編程給出4個(gè)湖大小。算法分析:1)用漢語拼音表示4個(gè)湖名:洞庭湖:Dongting 洪澤湖: Hongze 鄱陽湖: Poyang 太湖: Tai2)令湖的大小依次為1,2,3,4。1 表示最大,4表示最小。3)將4個(gè)人說的話寫成表達(dá)式: As=(Dongting=1)+(Hongze=4)+(Poyang=3);Bs=(Ho

10、ngze=1)+(Dongting=4)+(Poyang=2)+(Tai=3);Cs=(Hongzc=4)+(Dongting=3);Ds=(Poyang=1)+(Tai=4)+(Hongze=2)+(Dongting=3);4)用1,2,3,4去枚舉每個(gè)湖的大小,可以通過四重循環(huán)來實(shí)現(xiàn)。題目說4個(gè)人每個(gè)人只答對(duì)了一句,也就是說程序中的判定條件為: if (As=1&Bs=1&Cs=1&Ds=1) 這樣就可以確定4個(gè)湖的大小了,隨后按照從大到小的順序輸出這4個(gè)湖。 輸出結(jié)果: 鄱陽湖1, 洞庭湖2 太湖3 洪澤湖4參考程序:#include using namespace std;int main() / 主函數(shù) int d,h,p,t,as,bs,cs,ds;for (d=1;d=4;d+) for (h=1;h=4;h+) for (p=1;p=4;p+) for (t=1;t=4;t+) as=(d=1)+(h=4)+(p=3); bs=(h=1)+(d=4)+(p=2)+(t=

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論