C 大學(xué)基礎(chǔ)教程第三章(復(fù)習(xí))解析_第1頁(yè)
C 大學(xué)基礎(chǔ)教程第三章(復(fù)習(xí))解析_第2頁(yè)
C 大學(xué)基礎(chǔ)教程第三章(復(fù)習(xí))解析_第3頁(yè)
C 大學(xué)基礎(chǔ)教程第三章(復(fù)習(xí))解析_第4頁(yè)
C 大學(xué)基礎(chǔ)教程第三章(復(fù)習(xí))解析_第5頁(yè)
已閱讀5頁(yè),還剩85頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、C+大學(xué)基礎(chǔ)教程,第3章 C+控制語(yǔ)句 本章學(xué)習(xí): C+的控制語(yǔ)句和程序基本結(jié)構(gòu) 使用基本結(jié)構(gòu)實(shí)現(xiàn)算法,3.1 算法的基本控制結(jié)構(gòu),2020/7/10,-3-,3.1 算法的基本控制結(jié)構(gòu),流程圖 開(kāi)始/結(jié)束 執(zhí)行 判斷 聯(lián)系,2020/7/10,-4-,例:計(jì)算y=x2,開(kāi)始,定義x,y,輸入x,計(jì)算y=x*x,輸出y,結(jié)束,void main() int x,y; cinx; y=x*x; couty; ,coutx;,cout“y=”yendl;,void main() int x,y; coutx; y=x*x; cout“y=”yendl; ,順序結(jié)構(gòu),2020/7/10,-5-,例:

2、 找兩個(gè)數(shù)中的最大值。,開(kāi)始,定義x,y,輸入x,y,xy?,y,輸出x,結(jié)束,n,輸出y,#include void main() int x,y; cinxy; if(xy) coutx; else couty; ,選擇結(jié)構(gòu),2020/7/10,-6-,例:計(jì)算y=sin(x)在一個(gè)周期內(nèi)的八個(gè)等間隔抽樣點(diǎn)值。即xi=2i/8, i=0,1,7,開(kāi)始,定義變量i,x,y; 定義常量PI2;,i=0,i8,x=PI2*i/8; y=sin(x);,i+;,y,結(jié)束,n,#include #include using namespace std; void main() int i; floa

3、t x,y; const float PI2=2*3.14; for(i=0;i8;i+) x=PI2*i/8; cout(y=sin(x)endl; ,循環(huán)結(jié)構(gòu),2020/7/10,-7-,3.1 算法的基本控制結(jié)構(gòu),程序的三種基本控制結(jié)構(gòu) (1)順序結(jié)構(gòu) (2)選擇結(jié)構(gòu) (3)循環(huán)結(jié)構(gòu),2020/7/10,-8-,3.1 算法的基本控制結(jié)構(gòu),流程控制語(yǔ)句 選擇語(yǔ)句:if.else、switch 循環(huán)語(yǔ)句:while、for 、do.while 轉(zhuǎn)向語(yǔ)句:break、continue,2020/7/10,-9-,3.2 if選擇語(yǔ)句,2020/7/10,-10-,3.2 if選擇語(yǔ)句,if_

4、else 1、沒(méi)有else分支 2、雙分支 3、多分支 4、if 語(yǔ)句的嵌套,2020/7/10,-11-,3.2 if選擇語(yǔ)句,1、沒(méi)有else分支 例如:比較x和y的大小,如果x大則輸出x的值,if (表達(dá)式) 語(yǔ)句;,if ( xy ) coutxendl;,3.2 if選擇語(yǔ)句,2、雙分支 例如:比較x,y的大小,將較大的數(shù)輸出,if (表達(dá)式) 語(yǔ)句1; else 語(yǔ)句2;,if ( xy ) coutxendl; else coutyendl;,2020/7/10,-13-,3.2 if選擇語(yǔ)句,3、多分支,if (表達(dá)式1) 語(yǔ)句1; else if (表達(dá)式2) 語(yǔ)句2; el

5、se if (表達(dá)式3) 語(yǔ)句3; else 語(yǔ)句n;,例子:輸出學(xué)生的成績(jī),#include using namespace std; void main() int x; cinx; if(x=90) cout=80) cout=60) cout“合格”endl; else cout“不及格”endl; ,2020/7/10,-15-,注意: 1. 如果if-else語(yǔ)句中的語(yǔ)句1或語(yǔ)句2不是單條語(yǔ)句,則必須采用復(fù)合語(yǔ)句形式;否則,計(jì)算機(jī)只執(zhí)行其中第一條語(yǔ)句,出現(xiàn)程序運(yùn)行時(shí)的邏輯錯(cuò)誤。 程序的邏輯錯(cuò)誤,指的是編譯器檢查不出來(lái)的錯(cuò)誤,也即編譯時(shí)不出錯(cuò),只在程序運(yùn)行時(shí)才會(huì)出現(xiàn)。 2. 一般在i

6、f-else(和任何控制結(jié)構(gòu))中加上大括號(hào),可以避免不慎疏忽,特別是if或else后邊的選擇體語(yǔ)句多于一條時(shí)。,2020/7/10,-16-,3.2 if選擇語(yǔ)句,4、if 語(yǔ)句的嵌套,if (表達(dá)式1) if (表達(dá)式2) 語(yǔ)句1 else 語(yǔ)句2 else if (表達(dá)式3) 語(yǔ)句3 else 語(yǔ)句4,2020/7/10,-17-,注意: (1) 使用嵌套if結(jié)構(gòu)時(shí),應(yīng)該注意if與else的對(duì)應(yīng)關(guān)系。 從最內(nèi)層開(kāi)始,else總是與其前面最近的(未曾匹配的)if匹配。 如果外層if的內(nèi)嵌if語(yǔ)句沒(méi)有對(duì)應(yīng)的else分支,應(yīng)該把內(nèi)嵌if語(yǔ)句放入加花括號(hào)里,成為復(fù)合語(yǔ)句。例如下面的代碼:,2020

7、/7/10,-18-,if ( ) if ( ) 語(yǔ)句1; else if ( ) 語(yǔ)句2; else 語(yǔ)句3;,if ( ) if ( ) 語(yǔ)句1; else if ( ) 語(yǔ)句2; else 語(yǔ)句3;,if ( ) if ( ) 語(yǔ)句1; else if ( ) 語(yǔ)句2; else 語(yǔ)句3;,2020/7/10,-19-,(2) 編寫嵌套if語(yǔ)句結(jié)構(gòu),最好給外層if和else的選擇體加上大括號(hào),使結(jié)構(gòu)清晰,增強(qiáng)代碼的可讀性。 (3) 在嵌套if結(jié)構(gòu)和多選擇的if結(jié)構(gòu)中,測(cè)試條件為真可能性較大的操作應(yīng)放在if結(jié)構(gòu)的開(kāi)頭,以便盡早滿足測(cè)試條件,結(jié)束if結(jié)構(gòu)的執(zhí)行,提高程序運(yùn)行速度。,3.3 s

8、witch選擇語(yǔ)句,3.3 switch選擇語(yǔ)句,switch (表達(dá)式) case 常量表達(dá)式1: 語(yǔ)句1 break; case 常量表達(dá)式2: 語(yǔ)句2 break; case 常量表達(dá)式n: 語(yǔ)句n break; default:語(yǔ)句n+1 ,2020/7/10,-22-,例3.4 假設(shè)某個(gè)盒子里有紅色、黃色、藍(lán)色、綠色和白色球若干,每次從中取出一個(gè)球,并記錄(輸出)球的顏色。使用隨機(jī)數(shù)產(chǎn)生函數(shù)rand模擬隨機(jī)取球過(guò)程,設(shè)數(shù)字1,2,3,4,5分別表示上述五種球的顏色。數(shù)字0使模擬取球過(guò)程結(jié)束。統(tǒng)計(jì)出每種球出現(xiàn)的次數(shù)。,/功能:模擬取球程序 #include #include #incl

9、ude using namespace std; void main() int count1(0), count2(0), count3(0), count4(0), count5(0); srand( (unsigned)time( NULL ) ); int color=rand()%6;,while(color) switch(color) case 1: coutred ball endl; count1+; break; case 2: coutyellow ballendl; count2+; break;,case 3: coutblue ball endl; count3+;

10、 break; case 4: coutgreen ballendl; count4+; break; case 5: coutwhite ballendl; count5+; break;,default: coutInvalid command endl; color=rand()%6; coutcount of each color balls(red, yellow,blue,green,and white): count1,count2,count3,count4 ,count5endl; ,2020/7/10,-27-,注意: (1) switch語(yǔ)句中表達(dá)式的值可以是字符型、整型

11、,也可以是枚舉型。通常這個(gè)表達(dá)式僅僅是個(gè)變量。 (2)case 的常量表達(dá)式可以是字符型、整型或枚舉型,通常,也只是一個(gè)常量。各個(gè)case的常量表達(dá)式的值應(yīng)該互不相同,否則,相同的值造成矛盾的語(yǔ)句標(biāo)識(shí)。各個(gè)case的先后順序不影響執(zhí)行結(jié)果,由編程者合理安排。,2020/7/10,-28-,(3)break語(yǔ)句本不是switch語(yǔ)句原有的,但由于各個(gè)“case 常量表達(dá)式”只起語(yǔ)句標(biāo)號(hào)的作用,并不進(jìn)行條件判斷,switch語(yǔ)句每當(dāng)找到匹配的常量表達(dá)式,則從此標(biāo)號(hào)開(kāi)始執(zhí)行下去,不再進(jìn)行判斷,即將此后的其它c(diǎn)ase下的語(yǔ)句也都執(zhí)行。這顯然不是我們希望的。因此,在每個(gè)case的執(zhí)行語(yǔ)句結(jié)束處,應(yīng)該加上

12、break語(yǔ)句。,(4)幾個(gè)case可以共用一組執(zhí)行語(yǔ)句。例如,輸入考試成績(jī)grade,輸出是否通過(guò): switch(grade/10) case 9: case 8: case 7: case 6: cout”pass”; break; default cout”fail”; break; ,2020/7/10,-30-,(5) 在switch語(yǔ)句中應(yīng)該提供default情況,可以提醒編程者需要處理異常條件;而且習(xí)慣上default被放在switch結(jié)構(gòu)的最后。,2020/7/10,-31-,switch語(yǔ)句和多分支if語(yǔ)句都能實(shí)現(xiàn)多分支的選擇問(wèn)題。但switch語(yǔ)句只能處理測(cè)試表達(dá)式與ca

13、se常量表達(dá)式值相等的情況,即要求表達(dá)式的值只能取整型、字符型和枚舉型; 多分支的if語(yǔ)句可以處理測(cè)試表達(dá)式為任何c+允許類型的問(wèn)題。 盡管如此,只要問(wèn)題類型合適,switch語(yǔ)句通常比多分支的if語(yǔ)句的執(zhí)行效率高,因?yàn)榍罢咧苯訄?zhí)行匹配的語(yǔ)句,而后者要逐一比較至測(cè)試表達(dá)式為真。故合理安排多分支的if語(yǔ)句各分支的順序,有利于提高程序運(yùn)行速度,特別是當(dāng)選擇語(yǔ)句內(nèi)嵌于循環(huán)結(jié)構(gòu)中時(shí)。,3.4 循環(huán)語(yǔ)句,2020/7/10,-33-,3.4 循環(huán)語(yǔ)句,三種基本語(yǔ)法 1、 while 語(yǔ)句 2、 dowhile 語(yǔ)句 3、 for 語(yǔ)句,2020/7/10,-34-,3.4 循環(huán)語(yǔ)句,主要包括3個(gè)部分:

14、1、循環(huán)控制條件: 判斷循環(huán)操作是否進(jìn)行的條件; 2、循環(huán)體: 重復(fù)進(jìn)行的操作; 3、循環(huán)控制變量: 記錄循環(huán)體執(zhí)行的次數(shù),或控制循環(huán)的結(jié)束條件。,2020/7/10,-35-,3.4 循環(huán)語(yǔ)句,while循環(huán)語(yǔ)句,while(表達(dá)式) 循環(huán)體語(yǔ)句;,2020/7/10,-36-,/功能:計(jì)算1n個(gè)整數(shù)平方和的均值。 #include using namespace std void main() int k=1,sum=0,n; coutn;,2020/7/10,-37-,while(k0) /防止被0除 mean=sum/n; else mean=0; cout mean = mean e

15、ndl; ,2020/7/10,-38-,利用循環(huán)結(jié)構(gòu)實(shí)現(xiàn)迭代求和時(shí),表示和的變量的初值必須賦為0。另外還要注意執(zhí)行除法操作之前,檢驗(yàn)除數(shù)是否為0,以增強(qiáng)程序的穩(wěn)健性。,2020/7/10,-39-,注意: (1)循環(huán)體如果多于一句,必須采用復(fù)合語(yǔ)句形式,否則只有循環(huán)體的第一句能夠被執(zhí)行,其它循環(huán)體語(yǔ)句不能被執(zhí)行。 (2)一般while語(yǔ)句的循環(huán)控制變量在while語(yǔ)句前被賦值,并在循環(huán)體內(nèi)被修改,使循環(huán)語(yǔ)句能夠正常結(jié)束。循環(huán)結(jié)構(gòu)的循環(huán)體中應(yīng)該有使循環(huán)趨于結(jié)束的語(yǔ)句(修改循環(huán)控制變量的語(yǔ)句)。 如果while語(yǔ)句的條件一開(kāi)始就不滿足,則其循環(huán)體語(yǔ)句就會(huì)一次也不執(zhí)行。所以,我們?cè)谶x擇循環(huán)語(yǔ)句要清

16、楚這一點(diǎn)。,2020/7/10,-40-,3.4 循環(huán)語(yǔ)句,do.while循環(huán)語(yǔ)句,do 循環(huán)體語(yǔ)句; while(表達(dá)式);,2020/7/10,-41-,/功能:計(jì)算1n個(gè)整數(shù)平方和的均值。 #include using namespace std; void main() int k(1), n, sum(0),mean; coutn;,2020/7/10,-42-,do sum=sum+k*k; k+; while(k0) mean=sum/n; else mean=0; cout mean = mean endl; ,2020/7/10,-43-,注意: (1)如果循環(huán)體語(yǔ)句多于一

17、條,必須采用用復(fù)合語(yǔ)句形式。 (2)循環(huán)體中要包含修改循環(huán)控制變量的語(yǔ)句,保證循環(huán)是有限循環(huán)。 (3)do-while循環(huán)是先執(zhí)行循環(huán)體語(yǔ)句,后判斷表達(dá)式真假。所以循環(huán)體至少要執(zhí)行一次。 (4)while語(yǔ)句和do-while語(yǔ)句都能處理重復(fù)操作問(wèn)題,如前面的求均值()問(wèn)題。但while語(yǔ)句的循環(huán)體有可能一次也不執(zhí)行,所以,在選擇使用循環(huán)語(yǔ)句時(shí),要合理利用它們各自的特點(diǎn)。,2020/7/10,-44-,3.4 循環(huán)語(yǔ)句,for循環(huán)語(yǔ)句 循環(huán)結(jié)構(gòu) 1、表達(dá)式1 循環(huán)變量初始化; 2、表達(dá)式2 循環(huán)控制條件; 3、表達(dá)式3 循環(huán)變量的變化;,for (表達(dá)式1; 表達(dá)式2; 表達(dá)式3) 循環(huán)體;,

18、2020/7/10,-45-,#include using namespace std; void main() int k, n, sum(0),mean; coutn; for(k=1;k0) mean=sum/n; else mean=0; coutmeanendl; ,/計(jì)算1到10的階乘。 #include using namespace std; void main() int n; unsigned long factorial(1); for(n=1; n=10;n+) factorial*=n; coutn!=factorialendl; ,例3.10 計(jì)算1到10的階乘。,

19、2020/7/10,-47-,如果一個(gè)變量表示若干數(shù)的乘積,而且這個(gè)乘積是利用循環(huán)過(guò)程迭代計(jì)算的,則表示乘積的變量的初值要在循環(huán)開(kāi)始前賦為確定值,具體值要根據(jù)題目而定(一般為1,如本題),防止表示乘積的變量為隨機(jī)數(shù)或0,這是常用的編程技巧。,2020/7/10,-48-,3.4 循環(huán)語(yǔ)句,1、for: 最適合循環(huán)次數(shù)固定,循環(huán)規(guī)律非常明顯程序。 2、while: 使用最多最頻繁的循環(huán)結(jié)構(gòu),具有普適性。 3、do_while: 最適合至少循環(huán)一次的循環(huán)結(jié)構(gòu)。,2020/7/10,-49-,3.4.4 轉(zhuǎn)向語(yǔ)句,1、break語(yǔ)句 2、continue語(yǔ)句,2020/7/10,-50-,3.4.4

20、 轉(zhuǎn)向語(yǔ)句break,用途: 常用在while、do-while、for和switch語(yǔ)句中,用來(lái)跳出循環(huán)或switch語(yǔ)句。,例1:判斷輸出結(jié)果?,#include using namespace std; void main() int sum=0; for (int i=1;i10;i+) if (i % 3=0) break; sum+=i; coutsumendl; ,分析 i sum 1 1 2 3 3 跳出,2020/7/10,-52-,3.4.4 轉(zhuǎn)向語(yǔ)句continue,用途 用于循環(huán)語(yǔ)句中,結(jié)束本次循環(huán),進(jìn)行下一次循環(huán);即跳過(guò)循環(huán)體中尚未執(zhí)行的部分。,例1:判斷輸出結(jié)果?,

21、#include using namespace std; void main() int sum=0; for (int i=1;i10;i+) if (i % 3=0) continue; sum+=i; coutsumendl; ,分析 i sum 1 1 2 3 3 3 7 12 12 19 27 27 跳出,3.5 循環(huán)嵌套,3.5 循環(huán)嵌套,編程輸出國(guó)際象棋棋盤 #include using namespace std; void main() for (int i=0;i8;i+) for (int j=0;j8;j+) if (i+j)%2=0) cout; else cout

22、 ; coutn; , ,此字符來(lái)源于Word中的特殊字符,2020/7/10,北京郵電大學(xué)電信工程學(xué)院計(jì)算機(jī)技術(shù)中心,-56-,思考,題目: 使用For循環(huán)輸出如下圖形: * * * * * * *,#include using namespace std; void main() for (int i=1;ii; j-) cout ; for (j=1; j=i; j+) cout*; coutendl; ,3.6 應(yīng)用舉例,2020/7/10,-59-,3.6 應(yīng)用舉例1,題目 任意輸入一個(gè)整數(shù),按位翻轉(zhuǎn)輸出。例如輸入124,輸出421。,#include using namespace

23、 std; void main() int i, n, result=0; coutn; cout按位翻轉(zhuǎn)的結(jié)果為:; while (n!=0) i =n % 10; result=result*10+i; n /= 10; coutresultendl; ,輸入124,輸出421,2020/7/10,-61-,3.6 應(yīng)用舉例2,題目 一球從100米高度落下,每次落地后反彈回原高度的一半,再落下。編程求解它在第n次落地時(shí),共經(jīng)過(guò)多少米?,#include using namespace std; void main() double height=100; double sum=height

24、; for (int i=1;i10;i+) sum+=height; height/=2; coutsumendl; ,2020/7/10,-63-,例3.17 編寫程序,計(jì)算方程ax2+bx+c=0的解。 分析:根據(jù)方程的系數(shù)取值,存在下面幾種情況: (1) a=0, 不是二次方程; (2) b2-4ac=0, 有兩個(gè)相等的實(shí)根; (3) b2-4ac0, 有兩個(gè)不等的實(shí)根; (4) b2-4ac0, 有兩個(gè)共軛復(fù)根. 所以,程序中將使用選擇結(jié)構(gòu)分別實(shí)現(xiàn)各種情況。,3.6 應(yīng)用舉例,2020/7/10,-64-,偽碼: 開(kāi)始 定義變量a,b,c,disk,x1,x2 輸入方程系數(shù)a,b,c

25、 if a=0 輸出不是二次方程 else 計(jì)算二次方程的根 結(jié)束,/細(xì)化偽碼 開(kāi)始 定義變量a,b,c,disk,x1,x2 輸入方程系數(shù)a,b,c if a=0 輸出不是二次方程,else 計(jì)算 disk=b2-4ac if disk=0 x1=x2=-b/(2a) 輸出x1,x2 else if disk0 輸出x1,x2 else 輸出x1,x2 結(jié)束,/功能:計(jì)算方程ax2+bx+c=0的解 #include #include using namespace std; void main() ,void main() float a,b,c,disc,x1,x2,realpart,i

26、magpart; coutabc; coutThe equationendl; if(fabs(a)=1e-6) coutis not quadraticendl; else ,else disc=b*b-4*a*c; if(fabs(disc)1e-6) else ,if(fabs(disc)=1e-6) x1=-b/(2*a); couthas two equal roos:x1endl; ,else if (disc1e-6) x1=(-b+sqrt(disc)/(2*a); x2=(-b-sqrt(disc)/(2*a); couthas distinct real roots:x1,

27、x2endl; ,else realpart=-b/(2*a); imagpart=sqrt(-disc)/(2*a); couthas complex roots:endl; coutrealpart+imagpartiendl; coutrealpart-imagpartiendl; ,/功能:計(jì)算方程ax2+bx+c=0的解 #include #include using namespace std; void main() float a,b,c,disc,x1,x2,realpart,imagpart; coutabc; coutThe equationendl; if(fabs(a

28、)=1e-6) coutis not quadraticendl;,else disc=b*b-4*a*c; if(fabs(disc)1e-6) x1=(-b+sqrt(disc)/(2*a); x2=(-b-sqrt(disc)/(2*a); couthas distinct real roots:x1,x2endl; ,else realpart=-b/(2*a); imagpart=sqrt(-disc)/(2*a); couthas complex roots:endl; coutrealpart+imagpartiendl; coutrealpart-imagpartiendl;

29、,2020/7/10,-72-,實(shí)際編程中,我們可以從分析問(wèn)題開(kāi)始,用偽碼幫助記錄我們的分析結(jié)果,隨著問(wèn)題分析的不斷深入,偽碼被進(jìn)一步細(xì)化,最后它能較詳細(xì)地表示出解決問(wèn)題的算法,我們便可基于偽碼編寫程序代碼。當(dāng)然,我們還可以采用流程圖等其它工具輔助設(shè)計(jì)程序,記錄流程。,2020/7/10,-73-,例 3.18 口袋中有紅、黃、藍(lán)、白、黑五種顏色的球若干個(gè)。每次從口袋中取出3個(gè)不同顏色的球,問(wèn)有多少種取法。,3.6 應(yīng)用舉例,2020/7/10,-74-,分析:球只能是五種顏色之一。設(shè)取出的球?yàn)閕、j、k,根據(jù)題意,i、j、k分別可以有五種取值,且ijk。采用窮舉法,逐個(gè)檢驗(yàn)每一種可能的組合,

30、從中找出符合要求的組合并輸出。,2020/7/10,-75-,開(kāi)始 定義五種顏色常量red(0),yellow(1),blue(2),white(3),black(4); 定義變量print; 定義變量n,loop,i,j,k; 初始化n(0),2020/7/10,-76-,for循環(huán),第一個(gè)球的顏色i從red至black for循環(huán),第二個(gè)球的顏色j從red至black for循環(huán),第三個(gè)球的顏色k從red至black if代表三個(gè)球顏色的i,j,k的值不同,得到一種可行的取法, n+; for循環(huán),分別輸出三個(gè)球的顏色,共執(zhí)行三次。 用switch語(yǔ)句將i,j,k的值分別賦給打印變量pri

31、nt 用switch語(yǔ)句,根據(jù)print的值,打印不同的顏色名稱。 結(jié)束,/功能:模擬取球過(guò)程,找出三個(gè)球顏色不同的可能取法的數(shù)目。 #include using namespace std; void main() const red(0),yellow(1),blue(2),white(3),black(4); /五種顏色 short print; /打印球的顏色 short n, loop, i, j, k; n=0; for(i=red;i=black;i+) . couttotal:nendl; ,for(i=red;i=black;i+) for(j=red;j=black;j+)

32、 if(i!=j) /前兩個(gè)球不同 for(k=red;k=black;k+) ,if(k!=i) ,switch(loop)/沒(méi)有這步,下面字符串輸出要寫三遍。 case 1: print=i; break; case 2: print=j; break; case 3: print=k; break; default: break; ,switch(print) case red: cout red; break; case yellow: cout yellow; break; case blue: cout blue; break; case white: cout white; br

33、eak; case black: cout black; break; default: break; ,/功能:模擬取球過(guò)程,找出三個(gè)球顏色不同的可能取法的數(shù)目。 #include using namespace std; void main() const red(0),yellow(1),blue(2),white(3),black(4); /五種顏色 short print; /打印球的顏色 short n, loop, i, j, k; n=0;,for(i=red;i=black;i+) for(j=red;j=black;j+) if(i!=j) /前兩個(gè)球不同 for(k=re

34、d;k=black;k+) if(k!=i),for(loop=1;loop=3;loop+) switch(loop)/沒(méi)有這步,下面字符串輸出要寫三遍。 case 1: print=i; break; case 2: print=j; break; case 3: print=k; break; default: break; ,switch(print) case red: cout red; break; case yellow: cout yellow; break; case blue: cout blue; break; case white: cout white; break;,case b

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論