




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第四章第四章 編程基本功編程基本功想要成為一名優(yōu)秀的程序員或者計(jì)算機(jī)工作者,就必須在想要成為一名優(yōu)秀的程序員或者計(jì)算機(jī)工作者,就必須在實(shí)踐中一點(diǎn)一滴地去積累編程的經(jīng)驗(yàn),多編程序,敢編程序,實(shí)踐中一點(diǎn)一滴地去積累編程的經(jīng)驗(yàn),多編程序,敢編程序,而且不應(yīng)急于求成,從最基本的程序編起。作為初學(xué)者,最重而且不應(yīng)急于求成,從最基本的程序編起。作為初學(xué)者,最重要的就應(yīng)當(dāng)是夯實(shí)編程的基本功,充分掌握程序語(yǔ)言的基本知要的就應(yīng)當(dāng)是夯實(shí)編程的基本功,充分掌握程序語(yǔ)言的基本知識(shí),掌握編程的基本技巧,這樣一點(diǎn)點(diǎn)積累起來最終成為一個(gè)識(shí),掌握編程的基本技巧,這樣一點(diǎn)點(diǎn)積累起來最終成為一個(gè)編程高手。編程高手。本章就是特意為
2、基礎(chǔ)一般的讀者編寫的。它通過一些比較本章就是特意為基礎(chǔ)一般的讀者編寫的。它通過一些比較基礎(chǔ)的編程實(shí)例向讀者揭示了如何編寫一個(gè)地道的基礎(chǔ)的編程實(shí)例向讀者揭示了如何編寫一個(gè)地道的C程序。同程序。同時(shí)幫助讀者復(fù)習(xí)鞏固已有的時(shí)幫助讀者復(fù)習(xí)鞏固已有的C語(yǔ)言知識(shí)和編程技巧。如果你是語(yǔ)言知識(shí)和編程技巧。如果你是一個(gè)學(xué)過一個(gè)學(xué)過C語(yǔ)言但是編程實(shí)踐不多的人,或是很久沒有編程的語(yǔ)言但是編程實(shí)踐不多的人,或是很久沒有編程的人士,那么建議你學(xué)習(xí)本章。人士,那么建議你學(xué)習(xí)本章。4.1 字符類型統(tǒng)計(jì)器字符類型統(tǒng)計(jì)器題目要求:題目要求:請(qǐng)編寫一個(gè)請(qǐng)編寫一個(gè)C程序,在終端用鍵盤輸入字符串,以程序,在終端用鍵盤輸入字符串,以C
3、trl+Z的的組合鍵表示輸入完畢,統(tǒng)計(jì)輸入的字符串中空格符,制表符,換組合鍵表示輸入完畢,統(tǒng)計(jì)輸入的字符串中空格符,制表符,換行符的個(gè)數(shù),并顯示統(tǒng)計(jì)的結(jié)果。行符的個(gè)數(shù),并顯示統(tǒng)計(jì)的結(jié)果。題目分析:題目分析:這是一類在面試中或計(jì)算機(jī)考試中??嫉念}目,具有一定的這是一類在面試中或計(jì)算機(jī)考試中??嫉念}目,具有一定的普遍性。本例題涉及的知識(shí)點(diǎn)是字符串的輸入輸出方法以及字符普遍性。本例題涉及的知識(shí)點(diǎn)是字符串的輸入輸出方法以及字符的判斷等知識(shí)。程序設(shè)計(jì)的關(guān)鍵是如何辨認(rèn)出從終端輸入的字符的判斷等知識(shí)。程序設(shè)計(jì)的關(guān)鍵是如何辨認(rèn)出從終端輸入的字符哪個(gè)是空格符,哪個(gè)是制表符,哪個(gè)是換行符。然后在字符串輸哪個(gè)是空格
4、符,哪個(gè)是制表符,哪個(gè)是換行符。然后在字符串輸入的過程中,通過不同的變量記錄下來每一種字符的個(gè)數(shù)即可。入的過程中,通過不同的變量記錄下來每一種字符的個(gè)數(shù)即可。解決字符的分類問題可以通過字符的解決字符的分類問題可以通過字符的ASCII碼進(jìn)行判斷,因?yàn)椴煌a進(jìn)行判斷,因?yàn)椴煌淖址麑?duì)應(yīng)不同的的字符對(duì)應(yīng)不同的ASCII碼。通過查表可知空格符的碼。通過查表可知空格符的ASCII碼為碼為32,制表符的,制表符的ASCII碼為碼為9,換行符的,換行符的ASCII碼為碼為10??梢酝ㄟ^它們??梢酝ㄟ^它們不同的不同的ASCII碼來區(qū)分出它們。碼來區(qū)分出它們。4.2 計(jì)算字符的計(jì)算字符的ASCII碼碼題目要求:
5、題目要求:編寫一個(gè)程序,在終端輸入一個(gè)字符,輸出它的編寫一個(gè)程序,在終端輸入一個(gè)字符,輸出它的ASCII碼。碼。題目分析:題目分析:解決本題的關(guān)鍵在于理解字符在內(nèi)存中的存儲(chǔ)方式。解決本題的關(guān)鍵在于理解字符在內(nèi)存中的存儲(chǔ)方式。通過通過C語(yǔ)言的學(xué)習(xí)我們知道,一個(gè)字符在內(nèi)存中的存放形式語(yǔ)言的學(xué)習(xí)我們知道,一個(gè)字符在內(nèi)存中的存放形式是以它的是以它的ASCII碼形式存放的,大小為碼形式存放的,大小為8位位(bits),一個(gè)字節(jié),一個(gè)字節(jié)。例如空格符的。例如空格符的ASCII碼為碼為32,那么在內(nèi)存中,那么在內(nèi)存中32對(duì)應(yīng)的對(duì)應(yīng)的8位位二進(jìn)制數(shù)二進(jìn)制數(shù)100000就代表一個(gè)空格符。根據(jù)這個(gè)道理就不難就代表
6、一個(gè)空格符。根據(jù)這個(gè)道理就不難解決上述問題。只要變換一種輸出的形式就可以顯示出該字解決上述問題。只要變換一種輸出的形式就可以顯示出該字符的符的ASCII碼。碼。4.3 嵌套嵌套if-else語(yǔ)句的妙用語(yǔ)句的妙用學(xué)校進(jìn)行成績(jī)分級(jí)管理,取消分?jǐn)?shù)制,改為成績(jī)分級(jí)評(píng)定。具學(xué)校進(jìn)行成績(jī)分級(jí)管理,取消分?jǐn)?shù)制,改為成績(jī)分級(jí)評(píng)定。具體辦法是:小于體辦法是:小于6060分為分為“E”E”類;類;6060分至分至7070分(不含分(不含7070分)為分)為“D”D”類;類;7070分至分至8080分(不含)為分(不含)為“C”C”類;類;8080分至分至9090分(不含)為分(不含)為“B”B”類;類;9090分
7、以上為分以上為“A”A”類。設(shè)計(jì)一個(gè)程序,對(duì)輸入的成績(jī)進(jìn)行等級(jí)劃類。設(shè)計(jì)一個(gè)程序,對(duì)輸入的成績(jī)進(jìn)行等級(jí)劃分。分。4.4基于基于switch語(yǔ)句的譯碼器語(yǔ)句的譯碼器應(yīng)用應(yīng)用switch嵌套語(yǔ)句實(shí)現(xiàn)的譯碼算法,可以只掃描一嵌套語(yǔ)句實(shí)現(xiàn)的譯碼算法,可以只掃描一遍遍0/1代碼串就可以翻譯出全部?jī)?nèi)容。算法的具體結(jié)構(gòu)要依代碼串就可以翻譯出全部?jī)?nèi)容。算法的具體結(jié)構(gòu)要依賴于碼表的定義。應(yīng)用賴于碼表的定義。應(yīng)用switch嵌套語(yǔ)句來實(shí)現(xiàn)該譯碼算法,嵌套語(yǔ)句來實(shí)現(xiàn)該譯碼算法,優(yōu)點(diǎn)在于簡(jiǎn)單直觀,很容易理解,且翻譯效率較高。缺點(diǎn)在優(yōu)點(diǎn)在于簡(jiǎn)單直觀,很容易理解,且翻譯效率較高。缺點(diǎn)在于代碼量較大,如果碼表龐大,代碼量也
8、會(huì)隨之增大,而且于代碼量較大,如果碼表龐大,代碼量也會(huì)隨之增大,而且比較機(jī)械,缺乏靈活性。這里旨在用以說明比較機(jī)械,缺乏靈活性。這里旨在用以說明switch語(yǔ)句的嵌語(yǔ)句的嵌套使用。套使用。4.5 判斷閏年判斷閏年題目要求:題目要求:輸入一個(gè)年份,判斷該年是否是閏年。輸入一個(gè)年份,判斷該年是否是閏年。題目分析:題目分析:這是一道公司面試和各種這是一道公司面試和各種C語(yǔ)言考試中??嫉念}目。雖語(yǔ)言考試中??嫉念}目。雖然這道題目十分簡(jiǎn)單,但是作為一個(gè)專業(yè)的程序員這是必備然這道題目十分簡(jiǎn)單,但是作為一個(gè)專業(yè)的程序員這是必備的常識(shí)。所謂閏年,是要符合下面兩個(gè)條件之一:的常識(shí)。所謂閏年,是要符合下面兩個(gè)條件
9、之一:(1)該年份能被)該年份能被4整除,但不能被整除,但不能被100整除;整除;(2)該年份能被)該年份能被4整除,又能被整除,又能被400整除。整除。只要符合以上的兩條件之一的年份都是閏年。最簡(jiǎn)單只要符合以上的兩條件之一的年份都是閏年。最簡(jiǎn)單的判斷閏年的方法是用條件判斷語(yǔ)句(的判斷閏年的方法是用條件判斷語(yǔ)句(if-else語(yǔ)句)配合邏語(yǔ)句)配合邏輯表達(dá)式進(jìn)行判斷,充分地利用邏輯表達(dá)式進(jìn)行判斷可使程輯表達(dá)式進(jìn)行判斷,充分地利用邏輯表達(dá)式進(jìn)行判斷可使程序的可讀性更好,效率更高。序的可讀性更好,效率更高。4.6 指針變量作參數(shù)指針變量作參數(shù)題目要求:題目要求:編寫一個(gè)函數(shù)編寫一個(gè)函數(shù)inputA
10、rray,該函數(shù)被主函數(shù)調(diào)用,通,該函數(shù)被主函數(shù)調(diào)用,通過該函數(shù)實(shí)現(xiàn)向主函數(shù)中定義的數(shù)組輸入數(shù)據(jù)。過該函數(shù)實(shí)現(xiàn)向主函數(shù)中定義的數(shù)組輸入數(shù)據(jù)。題目分析:題目分析:程序設(shè)計(jì)結(jié)構(gòu)化要求將具有特定功能的程序塊編寫成程序設(shè)計(jì)結(jié)構(gòu)化要求將具有特定功能的程序塊編寫成函數(shù),這樣程序結(jié)構(gòu)清晰,可讀性強(qiáng),易于調(diào)試,代碼的復(fù)函數(shù),這樣程序結(jié)構(gòu)清晰,可讀性強(qiáng),易于調(diào)試,代碼的復(fù)用性強(qiáng)。因此把向數(shù)組中輸入數(shù)據(jù)這樣的程序塊單獨(dú)編寫成用性強(qiáng)。因此把向數(shù)組中輸入數(shù)據(jù)這樣的程序塊單獨(dú)編寫成為一個(gè)函數(shù),通過主函數(shù)調(diào)用實(shí)現(xiàn)其功能,這樣符合結(jié)構(gòu)化為一個(gè)函數(shù),通過主函數(shù)調(diào)用實(shí)現(xiàn)其功能,這樣符合結(jié)構(gòu)化程序設(shè)計(jì)的要求。程序設(shè)計(jì)的要求。但是
11、這里重要的一點(diǎn)是如何通過被調(diào)函數(shù)改變主函數(shù)但是這里重要的一點(diǎn)是如何通過被調(diào)函數(shù)改變主函數(shù)中的值。我們知道,函數(shù)的調(diào)用是在內(nèi)存的堆棧中實(shí)現(xiàn)的。中的值。我們知道,函數(shù)的調(diào)用是在內(nèi)存的堆棧中實(shí)現(xiàn)的。因此,一旦函數(shù)調(diào)用完畢,該函數(shù)內(nèi)部的所有局部變量都會(huì)因此,一旦函數(shù)調(diào)用完畢,該函數(shù)內(nèi)部的所有局部變量都會(huì)被釋放掉。被釋放掉。4.7 矩陣的轉(zhuǎn)置運(yùn)算矩陣的轉(zhuǎn)置運(yùn)算題目要求:題目要求:用鍵盤從終端輸入一個(gè)用鍵盤從終端輸入一個(gè)3行行4列的矩陣,編寫一個(gè)函數(shù)列的矩陣,編寫一個(gè)函數(shù)對(duì)該矩陣進(jìn)行轉(zhuǎn)置操作。對(duì)該矩陣進(jìn)行轉(zhuǎn)置操作。題目分析:題目分析:這個(gè)問題的解決關(guān)鍵是要解決兩個(gè)問題:(這個(gè)問題的解決關(guān)鍵是要解決兩個(gè)問題
12、:(1)數(shù)據(jù)在)數(shù)據(jù)在內(nèi)存中的存儲(chǔ)問題,也就是數(shù)據(jù)結(jié)構(gòu)的問題;(內(nèi)存中的存儲(chǔ)問題,也就是數(shù)據(jù)結(jié)構(gòu)的問題;(2)如何通)如何通過函數(shù)來實(shí)現(xiàn)矩陣的轉(zhuǎn)置運(yùn)算。顯然,可以用一個(gè)二維數(shù)組過函數(shù)來實(shí)現(xiàn)矩陣的轉(zhuǎn)置運(yùn)算。顯然,可以用一個(gè)二維數(shù)組來存儲(chǔ)矩陣的數(shù)據(jù),通過將二維數(shù)組的指針作為函數(shù)的參數(shù)來存儲(chǔ)矩陣的數(shù)據(jù),通過將二維數(shù)組的指針作為函數(shù)的參數(shù)進(jìn)行傳遞,來實(shí)現(xiàn)矩陣轉(zhuǎn)置函數(shù)的功能。進(jìn)行傳遞,來實(shí)現(xiàn)矩陣轉(zhuǎn)置函數(shù)的功能。4.8 矩陣的乘法運(yùn)算矩陣的乘法運(yùn)算題目要求:題目要求:有兩個(gè)矩陣有兩個(gè)矩陣A1和和A2,分別如下:,分別如下: 編寫一個(gè)程序,實(shí)現(xiàn)這兩個(gè)矩陣的乘積。編寫一個(gè)程序,實(shí)現(xiàn)這兩個(gè)矩陣的乘積。題目分析:
13、題目分析:從上面的計(jì)算法則中不難看出,要計(jì)算兩個(gè)矩陣的乘積需要從上面的計(jì)算法則中不難看出,要計(jì)算兩個(gè)矩陣的乘積需要三重循環(huán)。即:三重循環(huán)。即:A矩陣的第矩陣的第m行和行和B矩陣的第矩陣的第n列各元素相乘,得到列各元素相乘,得到cmn。A矩陣的第矩陣的第m行分別和行分別和B矩陣的第矩陣的第1k列相乘,得到列相乘,得到cm1,cm2.cmk。A矩陣的第矩陣的第1i行分別與矩陣的行分別與矩陣的n列相乘,得到最終結(jié)果。列相乘,得到最終結(jié)果。因此,解決矩陣相乘的問題的一種比較簡(jiǎn)單的方法就是用三因此,解決矩陣相乘的問題的一種比較簡(jiǎn)單的方法就是用三重循環(huán)嵌套語(yǔ)句。重循環(huán)嵌套語(yǔ)句。1123456A210234
14、1566890A 4.9 巧用位運(yùn)算巧用位運(yùn)算題目要求:題目要求:用位運(yùn)算操作實(shí)現(xiàn)兩個(gè)整數(shù)的交換。例如用位運(yùn)算操作實(shí)現(xiàn)兩個(gè)整數(shù)的交換。例如x1=5,x2=10;交換后;交換后x1=10,x2=5。題目分析:題目分析:一般情況下要實(shí)現(xiàn)兩個(gè)變量一般情況下要實(shí)現(xiàn)兩個(gè)變量a,b的內(nèi)容交換,多采用設(shè)置一個(gè)臨時(shí)的內(nèi)容交換,多采用設(shè)置一個(gè)臨時(shí)變量變量t,通過,通過t=a;a=b;b=t;的方法實(shí)現(xiàn)。其實(shí)還有一種更好更有效的方法實(shí)現(xiàn)這個(gè)功能,就是的方法實(shí)現(xiàn)。其實(shí)還有一種更好更有效的方法實(shí)現(xiàn)這個(gè)功能,就是采用位運(yùn)算的方法。采用位運(yùn)算的方法。具體的作法是:具體的作法是:a=ab;b=ba;a=ab;其中其中為安位
15、異或運(yùn)算。這樣同樣可以達(dá)到為安位異或運(yùn)算。這樣同樣可以達(dá)到a、b兩值互換的目的。兩值互換的目的。4.10 文件的讀寫文件的讀寫題目要求:題目要求:創(chuàng)建一個(gè)后綴名為創(chuàng)建一個(gè)后綴名為txt的文件,并向該文件中寫入一個(gè)字的文件,并向該文件中寫入一個(gè)字符串,保存起來。再打開該文件,讀出文件中的內(nèi)容。符串,保存起來。再打開該文件,讀出文件中的內(nèi)容。題目分析:題目分析:本題主要考查對(duì)文件的讀寫操作。本題主要考查對(duì)文件的讀寫操作。C庫(kù)函數(shù)中提供了一庫(kù)函數(shù)中提供了一組對(duì)文件操作的函數(shù),即組對(duì)文件操作的函數(shù),即I/O函數(shù),通過調(diào)用這些函數(shù)程序員函數(shù),通過調(diào)用這些函數(shù)程序員可以編寫程序操縱磁盤上的文件,來實(shí)現(xiàn)軟件
16、特定的功能??梢跃帉懗绦虿倏v磁盤上的文件,來實(shí)現(xiàn)軟件特定的功能。 I/O函數(shù)也叫輸入輸出函數(shù),是函數(shù)也叫輸入輸出函數(shù),是C標(biāo)準(zhǔn)庫(kù)函數(shù)中十分重要標(biāo)準(zhǔn)庫(kù)函數(shù)中十分重要的一類函數(shù)。所有的一類函數(shù)。所有I/O函數(shù)都定義在函數(shù)都定義在的頭文件中。因的頭文件中。因此,在編寫程序時(shí)要將頭文件此,在編寫程序時(shí)要將頭文件包含在源程序的文檔包含在源程序的文檔中。中。4.11 計(jì)算文件的大小計(jì)算文件的大小題目要求:題目要求:編寫一個(gè)編寫一個(gè)C程序,用來計(jì)算指定文件的大小。程序,用來計(jì)算指定文件的大小。題目分析:題目分析:計(jì)算指定文件大小的方法很多。最直觀的方法是通過計(jì)算指定文件大小的方法很多。最直觀的方法是通過掃描
17、整個(gè)文件計(jì)算出文件的字節(jié)數(shù)。但是這種方法對(duì)系統(tǒng)的掃描整個(gè)文件計(jì)算出文件的字節(jié)數(shù)。但是這種方法對(duì)系統(tǒng)的開銷很大,比較浪費(fèi)時(shí)間。可以巧妙地利用開銷很大,比較浪費(fèi)時(shí)間??梢郧擅畹乩肐/O庫(kù)中提供的庫(kù)中提供的函數(shù)來進(jìn)行文件大小的判定。函數(shù)來進(jìn)行文件大小的判定。4.12 記錄程序的運(yùn)行時(shí)間記錄程序的運(yùn)行時(shí)間題目要求:題目要求:任意編寫一段程序,要求紀(jì)錄并輸出該段程序執(zhí)行的任意編寫一段程序,要求紀(jì)錄并輸出該段程序執(zhí)行的時(shí)間。時(shí)間。題目分析:題目分析:在調(diào)試程序,分析代碼和算法的性能,查找系統(tǒng)瓶頸在調(diào)試程序,分析代碼和算法的性能,查找系統(tǒng)瓶頸等時(shí)候,經(jīng)常要統(tǒng)計(jì)一段代碼或者一個(gè)模塊執(zhí)行的時(shí)間,通等時(shí)候,經(jīng)常
18、要統(tǒng)計(jì)一段代碼或者一個(gè)模塊執(zhí)行的時(shí)間,通過觀察代碼執(zhí)行的時(shí)間來分析代碼的復(fù)雜度,效率和性能。過觀察代碼執(zhí)行的時(shí)間來分析代碼的復(fù)雜度,效率和性能。因此知道如何記錄程序運(yùn)行的時(shí)間是一個(gè)程序員的基本功。因此知道如何記錄程序運(yùn)行的時(shí)間是一個(gè)程序員的基本功。4.13 十進(jìn)制十進(jìn)制/二進(jìn)制轉(zhuǎn)化器二進(jìn)制轉(zhuǎn)化器題目要求:題目要求:編寫一個(gè)程序,將輸入的十進(jìn)制數(shù)轉(zhuǎn)化為二進(jìn)制表示編寫一個(gè)程序,將輸入的十進(jìn)制數(shù)轉(zhuǎn)化為二進(jìn)制表示。例如:輸入十進(jìn)制數(shù)。例如:輸入十進(jìn)制數(shù)64,輸出二進(jìn)制數(shù)表示,輸出二進(jìn)制數(shù)表示1000000。題目分析:題目分析:將一個(gè)十進(jìn)制數(shù)轉(zhuǎn)化為二進(jìn)制數(shù)一般采取將一個(gè)十進(jìn)制數(shù)轉(zhuǎn)化為二進(jìn)制數(shù)一般采取“除
19、除2取余取余”的方法。例如將十進(jìn)制數(shù)的方法。例如將十進(jìn)制數(shù)62轉(zhuǎn)化為二進(jìn)制表示,方法如下:轉(zhuǎn)化為二進(jìn)制表示,方法如下:4.14 打印特殊圖案打印特殊圖案題目要求:題目要求:在應(yīng)用在應(yīng)用C語(yǔ)言開發(fā)程序時(shí),有時(shí)為了程序運(yùn)行界面的美觀,語(yǔ)言開發(fā)程序時(shí),有時(shí)為了程序運(yùn)行界面的美觀,需要在屏幕上用字符構(gòu)成一些特殊的圖案用以裝飾。請(qǐng)?jiān)O(shè)計(jì)一個(gè)需要在屏幕上用字符構(gòu)成一些特殊的圖案用以裝飾。請(qǐng)?jiān)O(shè)計(jì)一個(gè)C程序,實(shí)現(xiàn)在屏幕上輸出一個(gè)類似于下面的圖案:程序,實(shí)現(xiàn)在屏幕上輸出一個(gè)類似于下面的圖案:* * * * * * *題目分析:題目分析:這種關(guān)于特定格式輸出的問題,最重要的一點(diǎn)是理解輸出這種關(guān)于特定格式輸出的問題,
20、最重要的一點(diǎn)是理解輸出格式的規(guī)律。只要理解了輸出格式的規(guī)律,通過簡(jiǎn)單的循環(huán)語(yǔ)句格式的規(guī)律。只要理解了輸出格式的規(guī)律,通過簡(jiǎn)單的循環(huán)語(yǔ)句就可以顯示出希望得到的圖案。就可以顯示出希望得到的圖案。4.15 打印楊輝三角打印楊輝三角題目要求:題目要求:在屏幕上打印出一個(gè)在屏幕上打印出一個(gè)6階楊輝三角。階楊輝三角。題目分析:題目分析:楊輝三角又稱為賈憲三角,是我國(guó)北宋數(shù)學(xué)家賈憲于楊輝三角又稱為賈憲三角,是我國(guó)北宋數(shù)學(xué)家賈憲于1050年首先發(fā)現(xiàn)并使用的。而后南宋數(shù)學(xué)家楊輝在年首先發(fā)現(xiàn)并使用的。而后南宋數(shù)學(xué)家楊輝在詳解詳解九章算法九章算法一書中記載并保存了一書中記載并保存了“賈憲三角賈憲三角”。因此賈憲三。
21、因此賈憲三角又被稱為楊輝三角。楊輝三角的發(fā)現(xiàn)是我國(guó)數(shù)學(xué)史上光輝角又被稱為楊輝三角。楊輝三角的發(fā)現(xiàn)是我國(guó)數(shù)學(xué)史上光輝燦爛的一頁(yè),它要比法國(guó)數(shù)學(xué)家帕斯卡發(fā)現(xiàn)的燦爛的一頁(yè),它要比法國(guó)數(shù)學(xué)家帕斯卡發(fā)現(xiàn)的“帕斯卡三角帕斯卡三角”(即楊輝三角)早(即楊輝三角)早600多年。多年。4.16 復(fù)雜級(jí)數(shù)的前復(fù)雜級(jí)數(shù)的前n項(xiàng)和項(xiàng)和題目要求:題目要求:求級(jí)數(shù)的前求級(jí)數(shù)的前10項(xiàng)和項(xiàng)和S10。題目分析:題目分析:本題要求級(jí)數(shù)的前本題要求級(jí)數(shù)的前10項(xiàng)和,將級(jí)數(shù)展開,實(shí)際就是求項(xiàng)和,將級(jí)數(shù)展開,實(shí)際就是求S10=(1/2)+(1/2)22!+(1/2)1010!。直觀地看,最簡(jiǎn)單的解決。直觀地看,最簡(jiǎn)單的解決方法就是應(yīng)
22、用循環(huán)。最外層的循環(huán)控制每一項(xiàng)的相加運(yùn)算;方法就是應(yīng)用循環(huán)。最外層的循環(huán)控制每一項(xiàng)的相加運(yùn)算;內(nèi)層包含兩個(gè)循環(huán)體,一個(gè)是計(jì)算內(nèi)層包含兩個(gè)循環(huán)體,一個(gè)是計(jì)算1/2的的n次方,一個(gè)是計(jì)算次方,一個(gè)是計(jì)算n的階乘。的階乘。4.17 尋找矩陣中的尋找矩陣中的“鞍點(diǎn)鞍點(diǎn)”題目要求:題目要求:在一個(gè)矩陣中,可能會(huì)有這樣的元素:它在該行中最大,而在一個(gè)矩陣中,可能會(huì)有這樣的元素:它在該行中最大,而在該列中最小。我們把這樣的元素稱為在該列中最小。我們把這樣的元素稱為“鞍點(diǎn)鞍點(diǎn)”。一個(gè)矩陣中也。一個(gè)矩陣中也可能沒有鞍點(diǎn)。任意輸入一個(gè)可能沒有鞍點(diǎn)。任意輸入一個(gè)5*5的矩陣,尋找該矩陣中的鞍點(diǎn),的矩陣,尋找該矩陣中
23、的鞍點(diǎn),并將它在矩陣中的位置(行,列)輸出。并將它在矩陣中的位置(行,列)輸出。題目分析:題目分析:仔細(xì)分析鞍點(diǎn)的定義可知,在一個(gè)矩陣中,最多出現(xiàn)一個(gè)鞍仔細(xì)分析鞍點(diǎn)的定義可知,在一個(gè)矩陣中,最多出現(xiàn)一個(gè)鞍點(diǎn)。點(diǎn)。因此在設(shè)計(jì)尋找鞍點(diǎn)的算法時(shí),可以逐行尋找鞍點(diǎn)。先找出因此在設(shè)計(jì)尋找鞍點(diǎn)的算法時(shí),可以逐行尋找鞍點(diǎn)。先找出某行中最大的元素(要求同行中只能有一個(gè)最大的元素),再將某行中最大的元素(要求同行中只能有一個(gè)最大的元素),再將該元素與同列中的其他元素進(jìn)行比較,如果該元素為同列中最小該元素與同列中的其他元素進(jìn)行比較,如果該元素為同列中最小的元素,則該元素即為該矩陣的鞍點(diǎn),于是返回它在矩陣中的位的元
24、素,則該元素即為該矩陣的鞍點(diǎn),于是返回它在矩陣中的位置,程序結(jié)束;否則繼續(xù)對(duì)下一行進(jìn)行上述的操作。置,程序結(jié)束;否則繼續(xù)對(duì)下一行進(jìn)行上述的操作。4.18 n階勒讓德多項(xiàng)式求解階勒讓德多項(xiàng)式求解題目要求:題目要求:n階勒讓德多項(xiàng)式定義為:階勒讓德多項(xiàng)式定義為:編寫程序,輸入正整數(shù)編寫程序,輸入正整數(shù)n和任意數(shù)和任意數(shù)x,求出勒讓德多項(xiàng),求出勒讓德多項(xiàng)式的值式的值Pn(x)。題目分析:題目分析:顯然勒讓德多項(xiàng)式的定義是一種遞歸形式的定義。因顯然勒讓德多項(xiàng)式的定義是一種遞歸形式的定義。因此要求出此要求出n階的勒讓德多項(xiàng)式的值,最簡(jiǎn)單的方法就是編寫階的勒讓德多項(xiàng)式的值,最簡(jiǎn)單的方法就是編寫一個(gè)遞歸函數(shù)實(shí)現(xiàn)。一個(gè)遞歸函數(shù)實(shí)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025授權(quán)中介機(jī)構(gòu)房產(chǎn)銷售代理合同
- 溶栓藥物護(hù)理要點(diǎn)及規(guī)范
- 2025年土地承包合同樣本示范文本
- 2025設(shè)備租賃合同范本(設(shè)備)
- 2025至2030中國(guó)潤(rùn)膚露行業(yè)市場(chǎng)深度調(diào)研及發(fā)展策略與風(fēng)險(xiǎn)報(bào)告
- 激光治療技術(shù)應(yīng)用與發(fā)展
- 夾竹桃說課課件
- 護(hù)理查房課件
- 南京2025年南京理工大學(xué)第二次集中招聘科研助理筆試歷年參考題庫(kù)附帶答案詳解
- 2025至2031年中國(guó)榨汁機(jī)鋁件行業(yè)投資前景及策略咨詢研究報(bào)告
- 《儲(chǔ)能系統(tǒng)變流器涉網(wǎng)性能硬件在環(huán)檢測(cè)規(guī)范編制說明》
- 中國(guó)當(dāng)代文學(xué)專題-003-國(guó)開機(jī)考復(fù)習(xí)資料
- 初中學(xué)校發(fā)展規(guī)劃
- 1、大客戶部組織結(jié)構(gòu)、部門職責(zé)
- 加油站崗位標(biāo)準(zhǔn)化操作制度
- 專題04 《經(jīng)典常談》(期中熱點(diǎn))20題-2023-2024學(xué)年八年級(jí)語(yǔ)文下學(xué)期期中專題復(fù)習(xí)(深圳專用)(原卷版)
- 低年級(jí)繪本閱讀校本課程開發(fā)與實(shí)施方案
- 風(fēng)電基礎(chǔ)勞務(wù)分包合同(2篇)
- 駐地建設(shè)臨建設(shè)施驗(yàn)收表
- 絲綢之路完整版本
- 國(guó)家開放大學(xué)《光伏電池原理與工藝》形考任務(wù)1-4參考答案
評(píng)論
0/150
提交評(píng)論