影音先锋男人资源在线观看,精品国产日韩亚洲一区91,中文字幕日韩国产,2018av男人天堂,青青伊人精品,久久久久久久综合日本亚洲,国产日韩欧美一区二区三区在线

算法語言與數(shù)據(jù)結(jié)構(gòu)第3章PPT課件

上傳人:深*** 文檔編號(hào):93137458 上傳時(shí)間:2022-05-19 格式:PPTX 頁數(shù):139 大?。?19.66KB
收藏 版權(quán)申訴 舉報(bào) 下載
算法語言與數(shù)據(jù)結(jié)構(gòu)第3章PPT課件_第1頁
第1頁 / 共139頁
算法語言與數(shù)據(jù)結(jié)構(gòu)第3章PPT課件_第2頁
第2頁 / 共139頁
算法語言與數(shù)據(jù)結(jié)構(gòu)第3章PPT課件_第3頁
第3頁 / 共139頁

下載文檔到電腦,查找使用更方便

20 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《算法語言與數(shù)據(jù)結(jié)構(gòu)第3章PPT課件》由會(huì)員分享,可在線閱讀,更多相關(guān)《算法語言與數(shù)據(jù)結(jié)構(gòu)第3章PPT課件(139頁珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。

1、第 3 章 邏輯思維與計(jì)算機(jī)解題第1頁/共139頁算法及算法工具結(jié)構(gòu)化程序設(shè)計(jì)思想將實(shí)際問題抽象為邏輯關(guān)系枚舉法解題思路關(guān)系與關(guān)系表達(dá)式程序的循環(huán)結(jié)構(gòu)與分支結(jié)構(gòu)第2頁/共139頁第3頁/共139頁第4頁/共139頁 3.1 程序設(shè)計(jì)中的科學(xué)思維方法程序設(shè)計(jì)中的科學(xué)思維方法 3.2 關(guān)系運(yùn)算符和關(guān)系表達(dá)式關(guān)系運(yùn)算符和關(guān)系表達(dá)式2 3.3 使用關(guān)系表達(dá)式解決一些問題使用關(guān)系表達(dá)式解決一些問題3 3.4 枚舉法的思路枚舉法的思路4目錄 3.5 循環(huán)語句循環(huán)語句5 3.6 分支語句分支語句6 3.8 邏輯判斷與解題邏輯判斷與解題8 3.7 輸入輸出語句輸入輸出語句7第5頁/共139頁3.1 程序設(shè)計(jì)中

2、的科學(xué)思維方法 算法程序設(shè)計(jì)=數(shù)據(jù)結(jié)構(gòu)+算法+程序設(shè)計(jì)方法學(xué) 數(shù)據(jù)結(jié)構(gòu):數(shù)據(jù)對(duì)象及其相互關(guān)系和構(gòu)造方法。數(shù)據(jù)結(jié)構(gòu)與算法密不可分,一個(gè)良好的數(shù)據(jù)結(jié)構(gòu),將使算法簡(jiǎn)單化;只有明確了問題的算法,才能有較好的設(shè)計(jì)數(shù)據(jù)結(jié)構(gòu),因此兩者是相輔相承的 對(duì)同一個(gè)問題的求解,允許有不同的算法和數(shù)據(jù)結(jié)構(gòu),依不同算法編寫的操作代碼,執(zhí)行效率不一樣。 算法(algorithm):是對(duì)特定問題求解步驟的一種描述。算法特征: 1有窮性 2確定性 3輸入 4輸出 5有效性 算法要求: 1正確性 2可讀性 3健壯性 4效率 算法表示: 1. 自然語言 2. 專用工具 3. 偽代碼 4. 計(jì)算機(jī)語言 算法設(shè)計(jì)常用方法 1. 枚舉法

3、 2. 迭代法 3. 遞歸法 4. 遞推法 5. 分治法 6. 回溯法 7. 模擬人工 第6頁/共139頁算法表示工具 算法表示 專用工具流程圖表示 流程圖符號(hào):3.1 程序設(shè)計(jì)中的科學(xué)思維方法第7頁/共139頁三種基本控制結(jié)構(gòu)AB順序結(jié)構(gòu)選擇結(jié)構(gòu)循環(huán)結(jié)構(gòu)PBAPA3.1 程序設(shè)計(jì)中的科學(xué)思維方法第8頁/共139頁1.2 程序設(shè)計(jì)中的科學(xué)思維方法 流程圖符號(hào)表示的算法實(shí)例:3.1 程序設(shè)計(jì)中的科學(xué)思維方法第9頁/共139頁1.2 程序設(shè)計(jì)中的科學(xué)思維方法 例 3.1 算法 偽代碼表示的算法實(shí)例:?jiǎn)栴}: 求12+22+502輸出sum開始 輸入n的值 置sum初值為0 置i初值為1 當(dāng)in,執(zhí)行

4、下面操作: sum = i*i+sum i = i+1 打印sum的值 結(jié)束3.1 程序設(shè)計(jì)中的科學(xué)思維方法第10頁/共139頁1.2 程序設(shè)計(jì)中的科學(xué)思維方法 例 3.2 算法 計(jì)算機(jī)語言表示的算法實(shí)例:?jiǎn)栴}: 求12+22+5023.1 程序設(shè)計(jì)中的科學(xué)思維方法第11頁/共139頁1.結(jié)構(gòu)化程序設(shè)計(jì)基本思想 自頂向下 逐步細(xì)化 模塊化 2.結(jié)構(gòu)化程序設(shè)計(jì)的過程 建立數(shù)學(xué)模型 選定算法,用適當(dāng)工具描述算法 編程 測(cè)試及調(diào)試 (1)建立數(shù)學(xué)模型 規(guī)定了數(shù)據(jù)間準(zhǔn)確的關(guān)系,如:數(shù)學(xué)公式、一張關(guān)系圖、一張二維數(shù)據(jù)表 (2)選定算法,用適當(dāng)工具描述算法3.1 程序設(shè)計(jì)中的科學(xué)思維方法第12頁/共139

5、頁(3).用自頂向下逐步細(xì)化構(gòu)造算法【例1-5】 某同學(xué)進(jìn)行一次物理實(shí)驗(yàn),測(cè)量得到30個(gè)數(shù)據(jù),求這30個(gè)數(shù)據(jù)的平均值。一級(jí)算法:1. Initialize variables2. Input , sum and count the data3. Calculate and print the average1.1 Set total to 01.2 Set counter to 12.1 While counter=30 Input the next data Add the data to total Add 1 to counter3.1 Set average to tatal/303.

6、2 Print the average3.1 程序設(shè)計(jì)中的科學(xué)思維方法 第13頁/共139頁4.用自頂向下逐步細(xì)化構(gòu)造算法【例1-2】 有30名同學(xué)選修了程序設(shè)計(jì)這門課程,請(qǐng)編寫程序統(tǒng)計(jì)參加考試學(xué)生中及格和不及格的人數(shù)。 一級(jí)算法: 1.Initialize variables 2.Input the 30 grades and count the failures 3.Print the exam results 1.1 Set failures to 01.2 Set passes to 01.3 Set counter to 1 While counter=302.1 Input the

7、 next grade2.2 If the grade=大于等于大于等于 大于大于 =等于等于 =小于等于小于等于 小于小于 !=不等于不等于3.2 關(guān)系運(yùn)算符和關(guān)系表達(dá)式第17頁/共139頁/ */ * 程 序: 3_0.c */ * 功 能: 為講解關(guān)系運(yùn)算而編 */ * 編制人: wuwh */ * 時(shí) 間: 2001年6月27日 */ *#include void main( )printf(“ 3 2 的邏輯值是 %d , 1 為真 n“, 3 2 ) ; printf(“ 3 =2 的邏輯值是 %d , 1 為真 n“, 3 = 2 ) ; printf(“ 3 = 2 的邏輯值是

8、 %d , 0 為假n“, 3 = 2 ) ; printf(“ 3 2 的邏輯值是 %d , 0 為假n“, 3 2 ) ;printf(“ 3 = 2 的邏輯值是 %d , 0 為假n“, 3 2 的邏輯值是 1, 1為真3 = 2 的邏輯值是 1, 1為真3 = 2 的邏輯值是 0, 0為假3 2 的邏輯值是 0, 0為假3 = 2 的邏輯值是 0, 0為假3 != 2 的邏輯值是 1, 1為真3.2 關(guān)系運(yùn)算符和關(guān)系表達(dá)式第19頁/共139頁關(guān)系表達(dá)式的一般格式 關(guān)系運(yùn)算符 例如:變量 1 為 b,變量 2 為 c,關(guān)系運(yùn)算符為 。關(guān)系表達(dá)式為b c在程序中系統(tǒng)要測(cè)試由關(guān)系表達(dá)式所表示

9、的關(guān)系是否成立,成立為真,不成立為假。關(guān)系表達(dá)式是有值的,這個(gè)值非 0 即 1,是布爾值。關(guān)系表達(dá)式成立,其值為 1 。關(guān)系表達(dá)式不成立,其值為 0 。上述性質(zhì)在編寫程序時(shí)用到,因此很重要。3.2 關(guān)系運(yùn)算符和關(guān)系表達(dá)式第20頁/共139頁 結(jié)合任務(wù)3.1,可以將四個(gè)人說的四句話寫成關(guān)系表達(dá)式。 在聲明變量時(shí),我們讓thisman表示要尋找的做了好事的人,定義它是字符變量。 char thisman=; / 定義字符變量并將其初始化為空 接著讓 “ = ” 的含義為“是”, 讓 “ != ” 的含義為“不是”。3.3 使用關(guān)系表達(dá)式解決一些問題第21頁/共139頁3.3 使用關(guān)系表達(dá)式解決一些

10、問題第22頁/共139頁thisman 65地址地址xxxx3.3 使用關(guān)系表達(dá)式解決一些問題第23頁/共139頁/ */ * 程 序: 3_1.c */ * 功 能: 驗(yàn)證A和65是否相等 */ * 編制人: wuwh */ * 時(shí) 間: 2001年6月27日 */ *#include / 預(yù)編譯命令void main( )/ 主函數(shù)/ 主函數(shù)開始char thisman;/ 聲明字符變量thisman,thisman = A;/ thisman賦值為A/ 輸出關(guān)系表達(dá)式“65=A”的值printf( 65=A 關(guān)系表達(dá)式的值為“,65=A) ;/ 主函數(shù)結(jié)束3.3 使用關(guān)系表達(dá)式解決一些問

11、題第24頁/共139頁 結(jié)合任務(wù)3.1分析,A、B、C、D四個(gè)人,只有一位是做好事者。令做好事者為1,未做好事者為0,可以有如下4中狀態(tài)(情況)3.4 枚舉法的思路第25頁/共139頁3.4 枚舉法的思路第26頁/共139頁(1)假定讓thisman=A代入四句話中3.4 枚舉法的思路第27頁/共139頁(2)假定讓thisman=B代入四句話中3.4 枚舉法的思路第28頁/共139頁(3)假定讓thisman=C代入四句話中3.4 枚舉法的思路第29頁/共139頁 綜上所述一個(gè)人一個(gè)人去試,就是枚舉。從編寫程序看,實(shí)現(xiàn)枚舉最好用循環(huán)結(jié)構(gòu)。 這部分的程序?qū)懗鋈缦拢篺or (k=1; k=4;

12、k=k+1) / 計(jì)數(shù)型循環(huán),循環(huán)的控制變量為k / 循環(huán)體開始thisman=64+k; / 產(chǎn)生被試者,依次為A,B,C,D / 賦值給thismansum = (thisman!=A)/ 測(cè)試A的話是否為真 +(thisman=C) / 測(cè)試B的話是否為真 +(thisman=D) / 測(cè)試C的話是否為真 +(thisman!=D); / 測(cè)試D的話是否為真 / 循環(huán)體結(jié)束3.5 循環(huán)語句第30頁/共139頁3.5 循環(huán)語句第31頁/共139頁 測(cè)試表達(dá)式測(cè)試表達(dá)式 2 2 求解表達(dá)式求解表達(dá)式 1 1 執(zhí)行循環(huán)體語句執(zhí)行循環(huán)體語句 求解表達(dá)式求解表達(dá)式 3 3 執(zhí)行執(zhí)行forfor的下

13、一條語句的下一條語句 假假 真真 循環(huán)控制變量置初值循環(huán)控制變量置初值 測(cè)試是否測(cè)試是否未未到終值到終值 讓循環(huán)控制變量增值讓循環(huán)控制變量增值 3.5 循環(huán)語句第32頁/共139頁3.5 循環(huán)語句第33頁/共139頁/ */ * 程 序: 3_2.c(計(jì)數(shù)循環(huán)示例) */ * 功 能: 求自然數(shù)1100之和 */ * 編制人: wuwh */ * 時(shí) 間: 2001年9月10日 */ *#include / 預(yù)編譯命令void main( )/ 主函數(shù)/ 主函數(shù)開始int i=0, sum=0;/ 聲明i,sum為整型變量并初始化為0for (i=1; i=100; i=i+1)/ for 循

14、環(huán)/ 循環(huán)體開始sum = sum+i;/ 累加求和/ 循環(huán)體結(jié)束 printf(“自然數(shù)1100之和為 %d“, sum);/ 輸出累加結(jié)果/ 主函數(shù)結(jié)束3.5 循環(huán)語句第34頁/共139頁3.5 循環(huán)語句第35頁/共139頁/*/* 程序名:3_3.c(循環(huán)語句示例) */* 作 者:wuwh */* 編制時(shí)間:2002年9月20日 */* 主要功能:計(jì)算10 的階乘 */*#include / 預(yù)編譯命令void main() / 主函數(shù) / 主函數(shù)開始int i = 0, j = 0, k = 0; / 聲明 i,j,k 為整型變量,并初始化為0long sum = 1; / 聲明 s

15、um 為長(zhǎng)整型變量,并初始化為1for (i = 10; i = 1; i = i-1) / 用 for 循環(huán)作累乘運(yùn)算printf( i=%d“, i) ; / 顯示isum = sum * i; / 每一步乘積printf( tsum=%d“, sum); / 顯示每一步乘積for ( j = 1; j = 5500; j = j+1) / 用 for 循環(huán)延遲時(shí)間for (k = 1; k = 1; i = i-1) cout i= i ; sum = sum * i; cout tsum= sum endl; 3.5 循環(huán)語句第37頁/共139頁/*/* 程序名:3_3.c(循環(huán)語句示

16、例) */* 作 者:wuwh */* 編制時(shí)間:2002年9月20日 */* 主要功能:計(jì)算10 的階乘 */*#include / 預(yù)編譯命令void main() / 主函數(shù) / 主函數(shù)開始int i = 0, j = 0, k = 0; / 聲明 i,j,k 為整型變量,并初始化為0long sum = 1; / 聲明 sum 為長(zhǎng)整型變量,并初始化為1for (i = 10; i = 1; i = i-1) / 用 for 循環(huán)作累乘運(yùn)算printf( i=%d“, i ); / 顯示isum = sum * i; / 每一步乘積printf( tsum=%d ,sum); / 顯示

17、每一步乘積for ( j = 1; j = 5500; j = j+1) / 用 for 循環(huán)延遲時(shí)間for (k = 1; k = 10000; k = k+1);/用 for 循環(huán)延遲時(shí)間 printf( 10!=%d , sum );/ 顯示運(yùn)算結(jié)果 /主函數(shù)結(jié)束3.5 循環(huán)語句第38頁/共139頁#include void main() int i = 0, j = 0, k = 0; long sum = 1; for (i = 10; i = 1; i = i-1)printf( i=%d , i ); sum = sum * i; printf(tsum=%d , sum); f

18、or ( j = 1; j = 5500; j = j+1)for (k = 1; k = 10000; k = k+1); printf(10!=%d , sum); 3.5 循環(huán)語句第39頁/共139頁3.5 循環(huán)語句第40頁/共139頁3.5 循環(huán)語句第41頁/共139頁 初初始始時(shí)時(shí) sum=1 10 9 8 7 6 5 4 3 2 1 Sum * 10 Sum * 9 Sum * 8 Sum*1 Sum Sum 3.5 循環(huán)語句第42頁/共139頁3.5 循環(huán)語句第43頁/共139頁實(shí)際上循環(huán)有好幾種方式,如:Goto和if構(gòu)成的循環(huán)do-while構(gòu)成的循環(huán)while構(gòu)成的循環(huán)fo

19、r構(gòu)成的循環(huán)對(duì)于以上的循環(huán),我們將通過具體的例子來闡明。3.5 循環(huán)語環(huán)語句第44頁/共139頁句式為 goto 標(biāo)號(hào)標(biāo)號(hào)必須是字母,數(shù)字,下劃線組成,第一個(gè)字母不能是數(shù)字。1012nnmain()main()方法之一 int i,sum1,j,sum2,k,sum3;int i,sum1,j,sum2,k,sum3;printf(Please input the value of i,j and knn);printf(Please input the value of i,j and knn);scanf(%d,%d,%d,&i,&j,&k);scanf(%d,%d,%d,&i,&j,&k

20、);printf(i=%d,j=%d,k=%dnn,i,j,k);printf(i=%d,j=%d,k=%dnn,i,j,k);sum1=0;sum1=0;loop : if(i=10)loop : if(i=10) sum1=sum1+i sum1=sum1+i* *i; i+; goto loop;i; i+; goto loop; printf(method 1-sum1=%dnn,sum1); printf(method 1-sum1=%dnn,sum1);3.5 循環(huán)語句第45頁/共139頁while 語句 形式while (表達(dá)式) 語句 可以是復(fù)合語句 其中必須含有改變條件表達(dá)式

21、值的語句 執(zhí)行順序先判斷表達(dá)式的值,非 0 再執(zhí)行語句 實(shí)現(xiàn)“當(dāng)型”循環(huán)3.5 循環(huán)語句第46頁/共139頁流程特點(diǎn):先判斷,后執(zhí)行(1)循環(huán)如果包含一個(gè)以上的語句要用 括起來,見例2-3.c(2)循環(huán)體內(nèi)應(yīng)該有使循環(huán)體結(jié)束的語句,否則進(jìn)入死循環(huán)。express語句0非03.5 循環(huán)語句第47頁/共139頁1012nnmain()main()方法之二 int j,sum2;int j,sum2;sum2=0;sum2=0;while(j=10) /while(j=10) /* * without ; after while() without ; after while() * */ / su

22、m2=sum2+j sum2=sum2+j* *j;j; j+; j+; printf(method 2-sum2=%dnn,sum2);3.5 循環(huán)語句第48頁/共139頁do-while 語句 一般形式do 語句 可以是復(fù)合語句while (表達(dá)式) 其中必須含有改變條件表達(dá)式值的語句 執(zhí)行順序先執(zhí)行語句,后判斷條件。 while 語句與 do-while 語句的比較 類似于直到型循環(huán),但不同3.5 循環(huán)語句第49頁/共139頁Dowhile 是先執(zhí)行,后判斷gotoif及while均是先判斷后執(zhí)行main()main()方法之三 int k,sum3;int k,sum3;sum3=0;

23、sum3=0;dodo sum3=sum3+k sum3=sum3+k* *k;k; k+; k+; while(k=10); while(k=10); printf(sum3=%d,sum3);printf(sum3=%d,sum3); Dowhile的while后面有“;” while( )后面則沒有從本例中可以看出while和dowhile的區(qū)別dowhile是先執(zhí)行循環(huán)體語句,后判斷表達(dá)式1012nn3.5 循環(huán)語句第50頁/共139頁循環(huán)的嵌套與其它語言一樣,c語言的循環(huán)也可以有多重嵌套,大家在應(yīng)用過程中可以根據(jù)實(shí)際情況選用3.5 循環(huán)語句第51頁/共139頁EXAMPLE 例2-4

24、.c 把20以內(nèi)能被5整除的數(shù)打印出來 (用兩種方法)3.5 循環(huán)語句第52頁/共139頁main()main() int sum1=0,sum2=0; int sum1=0,sum2=0;/ /* * - while - - while - * */ / while(sum1=20)while(sum1=20) sum1=sum1+1; sum1=sum1+1; while(sum1%5=0) while(sum1%5=0) printf(while()- sum1=%dn,sum1); printf(while()- sum1=%dn,sum1); sum1+; sum1+; for(su

25、m2=1;sum2=20;sum2+)for(sum2=1;sum2=20;sum2+) while(sum2%5=0) while(sum2%5=0) printf(for printf(for* * * *while()- sum2=%dn,sum2);while()- sum2=%dn,sum2); sum2+; sum2+; 3.5 循環(huán)語句第53頁/共139頁break 和 continue 語句 break語句使程序從循環(huán)體和switch語句內(nèi)跳出,繼續(xù)執(zhí)行邏輯上的下一條語句。不能用在別處。如:2-5.c求解ax2+bx+c=y continue 語句結(jié)束本次循環(huán),接著進(jìn)行是否執(zhí)行

26、下一次循環(huán)的判斷。3.5 循環(huán)語句第54頁/共139頁EXAMPLE第55頁/共139頁main() /main() /* * y=a y=a* *x2+bx2+b* *x+c x+c * */ / int a,b,c,x,y; int a,b,c,x,y; a=5;b=10;c=15; a=5;b=10;c=15; for(x=1;x=10;x+)for(x=1;x250&y250&y350) break; printf(break-x=%d, y=%dn,x,y); printf(break-x=%d, y=%dn,x,y); for(x=1;x=10;x+)for(x=1;x250&y2

27、50&y350) continue; printf(continue-x=%d, y=%dn,x,y); printf(continue-x=%d, y=%dn,x,y); Continue結(jié)束本次循環(huán),即滿足條件時(shí),就跳過下面的語句,進(jìn)入下一個(gè)循環(huán);Break結(jié)束的是整個(gè)循環(huán)第56頁/共139頁for (i=1; i0 y=0 y=-1 y=1 x= =0 3.6 分支語句第62頁/共139頁/*/* 程 序 名:3_4.c(分支程序示例) */* 作 者:wuwh */* 編制時(shí)間:2001年8月 */* 主要功能:實(shí)現(xiàn)符號(hào)函數(shù) */*#include / 預(yù)編譯命令void main()

28、/ 主函數(shù) / 主函數(shù)開始int x=0,y=0;/ 聲明x,y為整型變量,并初始化為0printf( 請(qǐng)輸入x ); / 提示信息scanf(“%d”,&x) x;/ 從鍵盤輸入整數(shù)送至x中if (x0)/ 如果x0,將1賦給yy=1;elseif (x=0)/ 如果x=0,將0賦給yy=0;elsey=-1; / 否則(x0 y=0 y=-1 y=1 x= =0 提示提示和和輸入整數(shù)輸入整數(shù) x 輸出輸出 y 3.6 分支語句第64頁/共139頁有了上述了解之后,我們來看解有了上述了解之后,我們來看解“誰做的好事誰做的好事”的程序框圖的程序框圖fo r (k = 1 ; k = 4 ; k

29、 = k + 1 ) 假假 真真 g != 1 su m = = 3 被被 試試 者者 th ism a n = 6 4 + k ; su m = (被被 試試 者者th ism a n != A )+ (被被 試試 者者th ism a n = = C )+ (被被 試試 者者th ism a n = = D )+ (被被 試試 者者th ism a n != D ); 假假 真真 輸輸 出出 該該 被被 試試 者者 ; 有有 解解 標(biāo)標(biāo) 志志g g = = 1 1 ; ; 輸輸 出出 無無 解解 信信 息息 ; 3.6 分支語句第65頁/共139頁現(xiàn)在我們來分析現(xiàn)在我們來分析“誰做的好事誰

30、做的好事”的的NS流程圖。它是由流程圖。它是由兩大塊組成的,如圖兩大塊組成的,如圖3.8循環(huán)體循環(huán)體for(k=1; k=4; k+)語句語句1;1;第一塊第一塊循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu)第二塊第二塊分支結(jié)構(gòu)分支結(jié)構(gòu)3.6 分支語句第66頁/共139頁3.6 分支語句第67頁/共139頁我們講這一段是希望你掌握我們講這一段是希望你掌握NS圖,這對(duì)今后的學(xué)習(xí)會(huì)有好處。按照程圖,這對(duì)今后的學(xué)習(xí)會(huì)有好處。按照程序框圖很容易寫出程序(如下頁所示)序框圖很容易寫出程序(如下頁所示)thisman = 64+k;sum=( thisman!=A )+ ( thisman=C )+ ( thisman=D )+ (

31、thisman!=D );sum = 3真真假假輸出該被測(cè)試者;輸出該被測(cè)試者;有解標(biāo)志置有解標(biāo)志置1 1;3.6 分支語句第68頁/共139頁/ */ * 程 序 名:3_5.c */ * 作 者:wuwh */ * 編制時(shí)間:2001年8月 */ * 主要功能:誰做的好事 */ *#include / 預(yù)編譯命令void main() / 主函數(shù) / 主函數(shù)開始int k=0,sum=0,g=0; / 聲明變量為整數(shù)類型,且均初始化為0char thisman= ;for(k=1;k=4;k=k+1) / k既是循環(huán)控制變量,也表示第k個(gè)人 / for 循環(huán)體開始thisman = 64+

32、k;sum=( thisman!=A ) + ( thisman=C ) + ( thisman=D ) + ( thisman!=D );if (sum=3) / 如果4句話有3句話為真,則輸出該人/ 輸出做好事者printf( 做好事者為%c“, char(64+k);g=1; / 有解標(biāo)志置1 / for 循環(huán)體結(jié)束if (g!=1) / 則輸出無解信息printf( Cant found! ); / 主函數(shù)結(jié)束3.6 分支語句第69頁/共139頁#include void main() int k =0, sum =0 , g =0; char thisman = ;for ( k =

33、 1; k = 4 ; k = k+1 ) thisman = 64 + k;sum = ( thisman != A ) +( thisman=D ) + ( thisman=C ) + ( thisman !=D );if ( sum=3 ) printf( 做好事者為%c , char(64+k);g=1; if (g!=1)printf( Cant found! );3.6 分支語句第70頁/共139頁/ */ * 程 序 名:3_6.c */ * 作 者:wuwh */ * 編制時(shí)間:2001年8月 */ * 主要功能:誰做的好事 */ *#include / 預(yù)編譯命令void m

34、ain()/ 主函數(shù) / 主函數(shù)開始int k=0,sum=0,g=0;/ 聲明變量為整數(shù)類型,且均初始化為0for(k=1;k=4;k=k+1)/ 循環(huán)從k為1到4,sum=0;/ 循環(huán)體內(nèi)的初始化if (k!=1) sum=sum+1;/ 如A的話為真,則讓sum加1;if (k=3) sum=sum+1;/ 如B的話為真,則讓sum加1;if (k=4) sum=sum+1;/ 如C的話為真,則讓sum加1;if (k!=4) sum=sum+1;/ 如D的話為真,則讓sum加1;if (sum=3)/ 若有三句話為真,則做下列兩件事cout This man is char(64+k)

35、 endl;/ 輸出做好事者g=1;/ 讓有解標(biāo)志置1if (g!=1)/ 則輸出無解信息 cout Cant found! endl;/ 主函數(shù)結(jié)束3.6 分支語句第71頁/共139頁for ( k = 1; k = 4; k = k+1 )sum=0;if ( k != 1 ) sum = sum+1; / 如A的話為真, 則讓sum加1;if ( k =3 ) sum = sum+1; / 如B的話為真,則讓sum加1;if ( k =4 ) sum = sum+1; / 如C的話為真,則讓sum加1;if ( k != 4 ) sum = sum+1; / 如D的話為真,則讓sum加1

36、; . . . 3.6 分支語句第72頁/共139頁/ */ * 程 序 名:3_7.cpp */ * 作 者:wuwh */ * 編制時(shí)間:2001年8月 */ * 主要功能:誰做的好事 */ *#include / 預(yù)編譯命令void main() / 主函數(shù) / 主函數(shù)開始int k=0,g=0; / 聲明變量為整數(shù)類型,且均初始化為0for(k=1;k=4;k=k+1) / k既是循環(huán)控制變量,也表示第k個(gè)人 / for 循環(huán)體開始if (k!=1)+(k=3)+(k=4)+(k!=4)=3) / 如果4句話有3句話為真,則輸出該人/ 輸出做好事者cout 做好事者為 char(64+

37、k) endl;g=1; / 有解標(biāo)志置1 / for 循環(huán)體結(jié)束if (g!=1) / 則輸出無解信息 cout Cant found! endl; / 主函數(shù)結(jié)束3.6 分支語句第73頁/共139頁for ( k = 1; k = 4 ; k = k+1 )if (k!=1)+(k=3)+(k=4)+(k!=4)=3) cout 做好事者為 char(64+k) endl; g=1; 3.6 分支語句第74頁/共139頁 for( k= 1; k= 4; k= k+ 1 ) if ( ( ( k != 1) + ( k = 3) + ( k = 4 ) + ( k != 4 ) ) = 3

38、 ) cout “做好事者為” char( 64+ k )b)?a:b,先運(yùn)行(ab)的條件運(yùn)算條件運(yùn)算符的優(yōu)先級(jí)比關(guān)系運(yùn)算符及算術(shù)運(yùn)算符低, 因此,(ab)的括號(hào)可以不要條件運(yùn)算符的結(jié)合方向?yàn)椤?自右向左”, 如:ab?a:cd?c:d 等價(jià)于 ab?a:(cd?c:d) 若a=5,b=15,c=25,d=35,那么整個(gè)表達(dá)式的值為35條件表達(dá)式不能替代一般的if語句三個(gè)表達(dá)式的類型可以不一樣,但最終類型為表達(dá)式2和表達(dá)式3中的較高者, 如x? a : b 3.6 分支語句第78頁/共139頁五、switch 語句Switch語句是多分支選擇語句,不象if,只有兩個(gè)分支可供選擇,在分類運(yùn)算中

39、,經(jīng)常用到 一般形式switch (表達(dá)式) 可以是整型、字符型、枚舉型 case 常量表達(dá)式 1:語句1 case 常量表達(dá)式 2:語句2 每個(gè)常量表達(dá)式的值不能相 case 常量表達(dá)式 n:語句n 同,次序不影響執(zhí)行結(jié)果 default : 語句n+1 可以是多個(gè)語句,但不必用 執(zhí)行順序以case中的常量表達(dá)式值為入口標(biāo)號(hào),由此開始順序執(zhí)行。因此,每個(gè)case分支最后應(yīng)該加break語句。3.6 分支語句第79頁/共139頁使用switch語句應(yīng)注意的問題 case分支可包含多個(gè)語句,且不用 表達(dá)式、判斷值都是int型或char型 若干分支執(zhí)行內(nèi)容相同可共用一組語句第80頁/共139頁EX

40、AMPLE 例2-2.c 計(jì)算工資水平下的稅率,注意用數(shù)值型和字符型 表達(dá)式,不過多個(gè)case也可以執(zhí)同一組語句。第81頁/共139頁main()main() char a;char a;int b,c;int b,c;printf(1-Please input the salary leveln);printf(1-Please input the salary leveln);printf(Between 1 to 4, which is char typen);printf(Between 1 to 4, which is char typen);scanf(%c,&a);scanf(%

41、c,&a);switch (a)switch (a) case 1 : printf(tax=100%n); break; case 1 : printf(tax=100%n); break; case 2 : printf(tax=50%n); break; case 2 : printf(tax=50%n); break; case 3 : printf(tax=30%n); break; case 3 : printf(tax=30%n); break; case 4 : printf(tax=8%n); break; case 4 : printf(tax=8%n); break; d

42、efault : printf(tax=0%n); break; default : printf(tax=0%n); break; printf(n2-Please input the salary leveln);printf(n2-Please input the salary leveln);printf(Between 1 to 4, which is int typen);printf(Between 1 to 4, which is int typen);3.6 分支語句第82頁/共139頁scanf(%d,&b);scanf(%d,&b);switch (b)switch (b

43、) case 1 : printf(tax=100%n); break; case 1 : printf(tax=100%n); break; case 2 : printf(tax=50%n); break; case 2 : printf(tax=50%n); break; case 3 : printf(tax=30%n); break; case 3 : printf(tax=30%n); break; case 4 : printf(tax=8%n); break; case 4 : printf(tax=8%n); break; default : printf(tax=0%n);

44、 break; default : printf(tax=0%n); break; printf(nPlease input the salary leveln);printf(nPlease input the salary leveln);printf(between 1 to 4, which is int typen);3.6 分支語句第83頁/共139頁scanf(%d,&c);scanf(%d,&c);switch (c)switch (c) case 1 : case 1 : case 2 : case 2 : case 3 : printf(tax=30%n); break;

45、case 3 : printf(tax=30%n); break; case 4 : printf(tax=8%n); break; case 4 : printf(tax=8%n); break; default : printf(tax=0%n); break; default : printf(tax=0%n); break; / /* * multi-case 13, share with the case 3 multi-case 13, share with the case 3 * */ / 3.6 分支語句第84頁/共139頁 輸入輸出是往往程序最基本的功能,也是程序中最重要的

46、組成部分。C語言中的輸入/輸出都是由庫函數(shù)完成的,因此都是函數(shù)語句。3.7 輸入輸出語句第85頁/共139頁函數(shù)printf函數(shù)的最簡(jiǎn)單形式 最簡(jiǎn)單形式中輸出項(xiàng)序列可以省略。此時(shí)成為如下格式: printf(輸出提示信息字符串) 轉(zhuǎn)義字符的使用 轉(zhuǎn)義字符用來完成某種特定的控制功能。例如:n使程序執(zhí)行時(shí)換行。 3.7 輸入輸出語句第86頁/共139頁printf函數(shù)調(diào)用的一般形式 printf函數(shù)是一個(gè)標(biāo)準(zhǔn)庫函數(shù),在使用時(shí)它可以帶兩個(gè)參數(shù):輸出格式控制及輸出項(xiàng)序列。printf函數(shù)調(diào)用的一般形式為: printf(格式控制字符串,輸出項(xiàng)序列) 其中格式控制字符串必須用引號(hào)()括起來,用于指定輸出

47、格式。注意不能使用漢字操作系統(tǒng)中的全角引號(hào)(“”)。格式控制串可由格式字符串和非格式字符串兩種組成。格式字符串是以%開頭的字符串,在%后面跟有各種格式字符,以說明輸出數(shù)據(jù)的類型、形式、長(zhǎng)度、小數(shù)位數(shù)等。非格式字符串輸出原樣,通常用于顯示提示信息。輸出項(xiàng)序列中包括各個(gè)輸出項(xiàng)。注意格式字符串和各輸出項(xiàng)在數(shù)量和類型上必須一一對(duì)應(yīng)。 3.7 輸入輸出語句第87頁/共139頁格式字符串 格式說明符的作用是規(guī)定輸出的形式。它用一個(gè)字母來表示。其完整形式為: % 標(biāo)志0輸出最小寬度 .精度 長(zhǎng)度類型 其中方括號(hào)中的項(xiàng)為可選項(xiàng)。%為格式控制字符串的引導(dǎo)字符,是不可缺少的。 1 類型 類型字符用以表示輸出數(shù)據(jù)的

48、類型。 )3.7 輸入輸出語句第88頁/共139頁 2 標(biāo)志 常用的標(biāo)志字符是-和+。其作用是指定輸出的數(shù)據(jù)左對(duì)齊或右對(duì)齊。具體說: - 結(jié)果左對(duì)齊,右邊填空格 + 結(jié)果右對(duì)齊,左邊填空格 【例5-13】(見課本) 3 指定輸出寬度 使用以下格式來指定輸出寬度: m.n 若輸出的結(jié)果是實(shí)數(shù),則m指定該數(shù)的總位數(shù)(包括小數(shù)點(diǎn)),n指定該數(shù)的小數(shù)位數(shù)。若實(shí)際位數(shù)多于定義的寬度,則按實(shí)際位數(shù)輸出,若實(shí)際位數(shù)少于定義的寬度則補(bǔ)以空格或0。 3.7 輸入輸出語句第89頁/共139頁 4 長(zhǎng)度 可以在字符d,o,x,u前面加字母l(不是數(shù)字1,而是字母L的小寫)或h,來指定不同的輸出精度。對(duì)于整數(shù)而言,h

49、表示按短整型量輸出,l表示按長(zhǎng)整型量輸出。對(duì)于實(shí)數(shù)而言,l表示按double形式輸出。 5 選項(xiàng)0 此選項(xiàng)指定對(duì)空位置是否以數(shù)字0填充。默認(rèn)的情況下,為省略0,此時(shí)對(duì)空白位置用空格填充。 3.7 輸入輸出語句第90頁/共139頁函數(shù) scanf函數(shù)稱為格式輸入函數(shù),其作用是按指定的格式用鍵盤把數(shù)據(jù)輸入到變量。scanf函數(shù)的一般形式 scanf函數(shù)是一個(gè)標(biāo)準(zhǔn)庫函數(shù)。但是,與printf函數(shù)相同,允許在使用scanf函數(shù)之前不必包含stdio.h文件。scanf函數(shù)的一般形式為: scanf(“格式控制字符串”,輸入項(xiàng)序列);3.7 輸入輸出語句第91頁/共139頁scanf函數(shù)的格式說明符 格

50、式控制字符串的作用與printf函數(shù)相同,但不能用來顯示非格式字符串,也就是不能顯示提示字符串。輸入項(xiàng)序列必須使用地址, 地址由地址運(yùn)算符“&”和變量名組成。如&a,&b分別表示變量a和變量b的地址。也就是說,直接給變量的地址中存入數(shù)值。 在scanf語句的格式串中一般沒有間隔符,因此應(yīng)每輸入一個(gè)數(shù)據(jù)就按一下或空格。使用scanf函數(shù)的注意事項(xiàng) 不能在scanf函數(shù)實(shí)現(xiàn)精度控制。 scanf中只能使用變量地址,不能使用變量名; 可以使用空格以及逗號(hào)(,)等作為間隔符號(hào),則此時(shí)輸入數(shù)據(jù)時(shí)也要使用間隔符號(hào)3.7 輸入輸出語句第92頁/共139頁getch與getchar函數(shù) getch與getch

51、ar函數(shù)的功能是從鍵盤上輸入一個(gè)字符,其返回值是一個(gè)整數(shù),這個(gè)整數(shù)就是輸入字符的ASCII碼值。函數(shù)不需要參數(shù),其一般形式為: getchar(); getch(); 其使用方法有以下兩種。其一,把函數(shù)得到的字符代碼值賦給一個(gè)字符或整型變量;其二,把函數(shù)得到的字符代碼值直接作為表達(dá)式的一部分,不賦給變量。 3.7 輸入輸出語句其它輸入輸出函數(shù)第93頁/共139頁 使用getchar函數(shù)還應(yīng)注意幾個(gè)問題:l getch與getchar函數(shù)只能接受單個(gè)字符,輸入數(shù)字也按字符處理。輸入多個(gè)字符時(shí),則只接收第一個(gè)字符;l 使用函數(shù)前必須在程序開頭使用以下語句: #include l g e tch 與

52、 g e tch a r的 區(qū) 別 在 于 : g e tc h 函 數(shù) 立 即 接 收 用 戶 的 輸 入 , 而getchar函數(shù)則在用戶按了后才接收輸入; 3.7 輸入輸出語句第94頁/共139頁gets函數(shù) 本函數(shù)用來從鍵盤接收一個(gè)字符串。與scanf函數(shù)不同,gets函數(shù)接收的字符串中可以有空格。本函數(shù)在屏幕顯示用戶輸入的信息。gets函數(shù)的格式為: 字符串變量名=gets() putch與putchar函數(shù) 此兩函數(shù)均可在屏幕上顯示一個(gè)字符,其格式為: putch(字符) 或者 putch(變量) putchar(字符) 或者 putchar(變量) 這里所說的一個(gè)字符也可以是一個(gè)

53、轉(zhuǎn)義符號(hào)。注意格式中只能使用英文單引號(hào)。 3.7 輸入輸出語句第95頁/共139頁puts函數(shù) 本函數(shù)用來輸出一個(gè)字符串。puts函數(shù)可以使用以下兩個(gè)格式: puts(字符串); puts(字符串變量名); 這里所說的一個(gè)字符也可以是一個(gè)轉(zhuǎn)義符號(hào)。注意格式中只能使用英文雙引號(hào)。 3.7 輸入輸出語句第96頁/共139頁某地刑偵大隊(duì)對(duì)涉及六個(gè)嫌疑人的一樁疑案進(jìn)行分析: A、B 至少有一人作案; A、E、F 三人中至少有兩人參與作案; A、D 不可能是同案犯; B、C 或同時(shí)作案,或與本案無關(guān); C、D 中有且僅有一人作案; 如果 D 沒有參與作案,則 E 也不可能參與作案。試編一程序,將作案人找

54、出來。3.8 邏輯判斷與解題思路第97頁/共139頁1、邏輯與,運(yùn)算符為 & B A A&B 3.8 邏輯判斷與解題思路第98頁/共139頁1 1 表示真,表示真,0 0 表示假,表示假,這是邏輯變量的取值,非真即假這是邏輯變量的取值,非真即假3.8 邏輯判斷與解題思路第99頁/共139頁2、邏輯或,運(yùn)算符為| B A A|B 3.8 邏輯判斷與解題思路第100頁/共139頁1 1 表示真,表示真,0 0 表示假表示假3.8 邏輯判斷與解題思路第101頁/共139頁3、邏輯非,運(yùn)算符為 !兩隊(duì)比賽籃球,變量 A 表示 A 隊(duì)到場(chǎng),!A 表示 A 隊(duì)不到場(chǎng),變量 B 表示 B 隊(duì)到場(chǎng),!B 表示

55、 B 隊(duì)不到場(chǎng)。這場(chǎng)球賽能夠賽成,得兩隊(duì)都到場(chǎng)。假定 “能賽成” 用邏輯變量 C 表示,則C = A & B3.8 邏輯判斷與解題思路第102頁/共139頁3.8 邏輯判斷與解題思路第103頁/共139頁思路:思路:3.8 邏輯判斷與解題思路第104頁/共139頁CC1:A和B至少有一人作案令 A 變量表示 A 作案,B 變量表示 B 作案3.8 邏輯判斷與解題思路第105頁/共139頁CC2:A和D不可能是同案犯可以分析為: A 如果是案犯,D一定不是案犯,寫成A & ( !D ) D 如果是案犯,A一定不是案犯,寫成 D &( !A ) A 和 D 都不是案犯,寫成 (!A) & (!D)

56、這三者之間是或的關(guān)系,因此有CC2 = !( A & D )3.8 邏輯判斷與解題思路第106頁/共139頁CC2 = !( A & D )3.8 邏輯判斷與解題思路第107頁/共139頁CC3:A、E、F 中至少有兩人涉嫌作案分析有三種可能 第一種,A 和 E 作案,(A & E) 第二種,A 和 F 作案,(A & F) 第三種,E 和 F 作案,(E & F)這三種可能性是 或 的關(guān)系,因此有CC3 = (A & E)|(A & F)|(E & F)我們寫出 CC3 的真值表。3.8 邏輯判斷與解題思路第108頁/共139頁3.8 邏輯判斷與解題思路第109頁/共139頁CC4:B和C或

57、同時(shí)作案,或都與本案無關(guān) 第一種情況:同時(shí)作案(B & C) 第二種情況:都與本案無關(guān)(!B & !C)兩者為或的關(guān)系,因此有 CC4 = (B & C) | (!B & !C)3.8 邏輯判斷與解題思路第110頁/共139頁CC5:C、D中有且僅有一人作案CC5=(C & !D) | (D & !C)3.8 邏輯判斷與解題思路第111頁/共139頁CC6:如果D沒有參與作案,則E也不可能參與作案。分析這一條比較麻煩一些,可以列出真值表再歸納3.8 邏輯判斷與解題思路第112頁/共139頁() ()()()DEDEDEDEDEDEDED EEE DDDECC6=D | !E以上是案情分析,已經(jīng)

58、化成了計(jì)算機(jī)可解的邏輯表達(dá)式以上是案情分析,已經(jīng)化成了計(jì)算機(jī)可解的邏輯表達(dá)式DDEE3.8 邏輯判斷與解題思路第113頁/共139頁 6個(gè)人每個(gè)人都有作案或不作案兩種可能,因此有 種組合,從這些組合中挑出符合6條分析的作案者。 定義 6 個(gè)整數(shù)變量,分別表示 6 個(gè)人A,B,C,D,E,F(xiàn)。枚舉每個(gè)人的可能性讓讓 0 表示不是罪犯;表示不是罪犯;讓讓 1 表示就是罪犯。表示就是罪犯。623.8 邏輯判斷與解題思路第114頁/共139頁3.8 邏輯判斷與解題思路第115頁/共139頁 寫一個(gè)從000000到111111的程序for( A=0;A=1;A=A+1) for( B=0;B=1;B=B

59、+1) for( C=0;C=1;C=C+1) for( D=0;D=1;D=D+1) for( E=0;E=1;E=E+1) for( F=0;F=1;F=F+1) coutABCDEF endl; 3.8 邏輯判斷與解題思路第116頁/共139頁 for( F=0;F=1;F=F+1) coutABCDEF endl; 循環(huán)體3.8 邏輯判斷與解題思路第117頁/共139頁 for( E=0;E=1;E=E+1) for( F=0;F=1;F=F+1) coutABCDEF endl; 循環(huán)體3.8 邏輯判斷與解題思路第118頁/共139頁 for( D=0;D=1;D=D+1) for(

60、 E=0;E=1;E=E+1) for( F=0;F=1;F=F+1) coutABCDEF endl; 循環(huán)體3.7 邏輯判斷與解題思路第119頁/共139頁 for( A=0;A=1;A=A+1) for( B=0;B=1;B=B+1) 循 for( C=0;C=1;C=C+1) 環(huán) for( D=0;D=1;D=D+1) 體 for( E=0;E=1;E=E+1) for( F=0;F=1;F=F+1) coutABCDEF endl; 3.7 邏輯判斷與解題思路第120頁/共139頁 輸輸 出出 C C 1 + C C 2 + C C 3 + C C 4 + C C 5 + C C 6

61、 = = 6 假假 真真 C C 1 = A |B ; C C 2 = !(A & & D ); C C 3 = (A & & E )|(A & & F ) |(E & & F ); C C 4 = (B & & C )|(!B & & !C ); C C 5 = (C & & !D )|(D & & !C ); C C 6 =D |(!E ); fo r (F = 0 ; F = 1 ; F =F +1 ) fo r (E = 0 ; E = 1 ; E =E +1 ) fo r (D =0 ; D =1 ; D =D +1 ) fo r (C =0 ; C =1 ; C =C +1 ) f

62、o r (B = 0 ; B = 1 ; B =B +1 ) fo r (A = 0 ; A = 1 ; A = A + 1 ) 3.8 邏輯判斷與解題思路第121頁/共139頁為了給出每個(gè)人是否為罪犯的信息,程序中定義為了給出每個(gè)人是否為罪犯的信息,程序中定義了一個(gè)了一個(gè)二維數(shù)組二維數(shù)組。char info29=“不是罪犯不是罪犯”,“是罪犯是罪犯”;有兩個(gè)字串每串最多有91個(gè)英文字符info為數(shù)組名3.8 邏輯判斷與解題思路第122頁/共139頁char 是說,是說,info 數(shù)組的元素為字符,數(shù)組的元素為字符,2為下標(biāo),表為下標(biāo),表示有兩個(gè)字符串,每個(gè)字符串最多有示有兩個(gè)字符串,每個(gè)字符

63、串最多有91個(gè)字符。個(gè)字符。因?yàn)橛⑽淖址家粋€(gè)字節(jié),而漢字占兩個(gè)字節(jié),故四因?yàn)橛⑽淖址家粋€(gè)字節(jié),而漢字占兩個(gè)字節(jié),故四個(gè)漢字要占個(gè)漢字要占 8 個(gè)英文字符的地方。個(gè)英文字符的地方。每一字串后面自動(dòng)跟一個(gè)空字符每一字串后面自動(dòng)跟一個(gè)空字符0因此可以看出:因此可以看出:第第 0 號(hào)字符串號(hào)字符串 info0 的內(nèi)容為的內(nèi)容為“不是罪犯不是罪犯”。第第 1 號(hào)字符串號(hào)字符串 info1 的內(nèi)容為的內(nèi)容為“是罪犯是罪犯”。3.7 邏輯判斷與解題思路第123頁/共139頁在輸出時(shí)用在輸出時(shí)用cout “ A: ” infoA endl;如果如果A為為0,則輸出,則輸出 A:不是罪犯不是罪犯如果如果A為

64、為1,則輸出,則輸出 A:是罪犯是罪犯參考程序參考程序 4_1.cpp(案情分析)(案情分析)3.7 邏輯判斷與解題思路第124頁/共139頁/*/* 程 序 名:3_4.c */* 作 者:wuwh */* 編制時(shí)間:2001年8月 */* 主要功能:案情分析 */*#include void main(void) /案情分析 /A和B至少有一人作案; cc1=(A | B) /A和D不可能是同案犯; cc2=(A & (!D)|(D & (!A) /A,E,F(xiàn)中至少有兩人涉嫌作案 cc3=(A & E )| / (A & F )| / (E & F ) /B和C或同時(shí)作案或都與本案無關(guān) c

65、c4=(B & C)|(!B & !C) /C,D中有且僅有一人作案; cc5=(C & !D)|(D & !C) /如果D沒有參與作案,則E也不可能參與作案; cc6=D | (!E) /編程找出犯罪嫌疑人. int cc1,cc2,cc3,cc4,cc5,cc6; /定義6個(gè)變量,分別表示6句話 int A,B,C,D,E,F; /定義6個(gè)變量,分別表示6個(gè)人 char info29 = 不是罪犯, 是罪犯; /定義二維數(shù)組,給出是否罪犯信息 3.7 邏輯判斷與解題思路第125頁/共139頁 for (A=0;A=1;A=A+1) / 枚舉A for (B=0;B=1;B=B+1) / 枚

66、舉B for (C=0;C=1;C=C+1) / 枚舉C for (D=0;D=1;D=D+1) / 枚舉D for (E=0;E=1;E=E+1) / 枚舉E for (F=0;F=1;F=F+1) / 枚舉F cc1=A | B; cc2=!(A & D); cc3=(A & E )| (A & F)|(E & F); cc4=(B & C)|(!B & !C); cc5=(C & !D)|(D & !C); cc6=D|(!E); 3.7 邏輯判斷與解題思路第126頁/共139頁/測(cè)試6句話都為真時(shí), 才輸出誰是罪犯 if ( cc1+cc2+cc3+cc4+cc5+cc6 = 6 ) /輸出判斷結(jié)果 printf( A:%s , infoA ); printf( “B:%s , infoB ); printf( “C:%s , infoC ); printf( “D:%s , infoD ); printf( “E:%s , infoE ); printf( “F:%s , infoF ); /輸出結(jié)束 /循環(huán)結(jié)束 3.7 邏輯判斷與解題思路第127頁/共139頁討討 論論第1

展開閱讀全文
溫馨提示:
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ì)自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號(hào):ICP2024067431號(hào)-1 川公網(wǎng)安備51140202000466號(hào)


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺(tái),本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng),我們立即給予刪除!