freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內容

工學]c程序設計復習要點(已改無錯字)

2023-02-18 17:33:50 本頁面
  

【正文】 程序中函數(shù) max用一維數(shù)組樣式的形式參數(shù) v來接收從主調函數(shù)中傳遞過來的二維數(shù)組首地址,注意到二維數(shù)組的名字表示的是二級地址,所以被傳遞的二維數(shù)組的首地址不能直接用二維數(shù)組名表示而應該使用 3種一級地址形式,本示例中使用的是 a[0],還可以使用amp。a[0][0]和 *a形式。在被調函數(shù)中將傳遞過來的二維數(shù)組當作一維數(shù)組處理,其元素對應關系應該是: a[i][j]→v[i*n+j]。程序執(zhí)行的結果為: Max value is:789。 ? 基本控制結構的使用(字符圖形的輸出,最大公約數(shù)最小公倍數(shù),素數(shù),窮舉法,迭代法的簡單實用) 例 220 編程序輸出如下所示由字符構成的圖形。 例 221 編程序在屏幕上打印出如下所示的乘法九九表。 * 1 2 3 4 5 6 7 8 9 1 1 2 2 4 3 3 6 9 4 4 8 12 16 5 5 10 15 20 25 6 6 12 18 24 30 36 7 7 14 21 28 35 42 49 8 8 16 24 32 40 48 56 64 9 9 18 27 36 45 54 63 72 81 復習這些例題 例 225 求兩個正整數(shù)的最大公約數(shù)和最小公倍數(shù)。 窮舉思想及程序實現(xiàn) 窮舉方法的實現(xiàn)主要依賴于以下兩個基本要點: ① 搜尋可能值的范圍如何確定。 ② 被搜尋可能值的判定方法。 對于被搜索的可能值,一般都是問題中所要查找的對象或者是要查找對象應該滿足的條件,因而在問題中都會有清晰的描述。但對于搜尋范圍,在有些問題是比較確定的,而在另外一些問題則是不確定的。 例 226 編程序找出所有的 “ 水仙花數(shù) ” 。 “ 水仙花數(shù) ” 是指一個 3位數(shù),其各位上數(shù)字的立方之和等于這個數(shù)本身。例如 153=13+53+33,所以 153是 “ 水仙花數(shù) ” 。 例 222 編制程序實現(xiàn)功能:從鍵盤輸入兩個正整數(shù) a(a2)和 b,求 a與 b之間的全部素數(shù)。 例 227 搬磚問題: 36塊磚, 36人搬,男搬 4,女搬 3,兩個小孩抬1磚。要求將所有的磚一次搬完,問需要男、女、小孩各多少? 例 228 愛因斯坦階梯問題。設有一階梯,每步跨 2階,最后余 1階;每步跨 3階,最后余 2階;每步跨 5階,最后余 4階;每步跨 6階,最后余 5階;只有每步跨 7階時,正好到階梯頂。問共有多少步階梯? 迭代思想及程序實現(xiàn) 迭代就是一個不斷地由變量的舊值按照一定的規(guī)律推出變量的新值的過程,迭代亦稱為遞推。 迭代一般與三個因素有關,它們是: ① 初始值, ② 迭代公式, ③ 迭代結束條件(迭代次數(shù))。 例 229 裴波那契( Fibonacci)數(shù)列問題。裴波那契數(shù)列的前兩個數(shù)據(jù)項都是 1,從第 3個數(shù)據(jù)項開始,其后的每一個數(shù)據(jù)項都是其前面的兩個數(shù)據(jù)項之和。 例題分析:設 f f2和 f3表示相鄰的 3個裴波那契數(shù)據(jù)項,據(jù)題意有 f f2的初始值為 1,即迭代的初始條件 為: f1=f2=1; 迭代的公式 為: f3=f1+f2。 有初始條件和迭代公式只能描述前 3項之間的關系,為了反復使用迭代公式,可以在每一個數(shù)據(jù)項求出后將 f f2和 f3順次向后移動一個數(shù)據(jù)項,即將 f2的值賦給 f1, f3的值賦給 f2,從而構成如下的迭代語句序列: f3=f1+f2。、 f1=f2。、 f2=f3。,反復使用該語句序列就能夠求出所要求的裴波那契數(shù)列。 例 230 用牛頓迭代法求方程 x44x3+6x28x8=0在 0附近的根。 例 231 用二分迭代法求方程 2x34x2+3x6=0在 (10,10)之間的根。 例 232 用割線法求方程 2x34x2+3x6=0在 (10,10)之間的根。 函數(shù)的遞歸調用 一個函數(shù)直接地或間接地自己調用自己,稱為函數(shù)的遞歸調用。函數(shù)的遞歸調用可以看成是一種特殊的函數(shù)嵌套調用,它與一般的嵌套調用相比較有幾個不同的特點: ( 1)遞歸調用中每次嵌套調用的函數(shù)都是該函數(shù)本身; ( 2)遞歸調用不會無限制進行下去,即這種特殊的自己對自己的嵌套調用總會在某種條件下結束。 例 編程序使用遞歸方式求 n!。 /* Name: */ include void main() { long fac(long n)。 long n,result。 printf(Input the n: )。 scanf(%ld,amp。n)。 result=fac(n)。 printf(%ld!=%ld\n,n,result)。 } long fac(long n) { if(n=1) return 1。 else return fac(n1)*n。 } ? fac(5)等于 120 fac(5) → 5* fac(4) fac(4) → 4* fac(3) fac(3) → 3* fac(2) fac(2) → 2* fac(1) fac(1) → 1 遞歸壓棧方向 fac(2) → 2* fac(1) → 2*1 → 2 fac(3) → 3* fac(2) → 3*2 → 6 fac(4) → 4* fac(3) → 4*6 → 24 fac(5) → 5* fac(4) → 5*24 → 120 遞歸回溯方向 圖 函數(shù)遞歸調用過程示意圖 執(zhí)行如下: 遞歸是程序設計中一種非常重要的技術,與程序設計中其它控制方法策略相比較,遞歸程序設計的難度在于遞歸在人類社會的現(xiàn)實生活中沒有直接對應的概念存在,而必須通過推理分析才能理解遞歸思想進而實現(xiàn)遞歸程序設計。在實際設計遞歸函數(shù)程序時,我們可以將重點放在分析遞推公式和遞歸終止條件上,可以忽略系統(tǒng)的具體執(zhí)行過程,只要算法和遞推公式正確,結論一定是正確的。 ? 遞歸的實質是一種簡化復雜問題求解的方法,它將問題逐步簡化直至趨于已知條件。在簡化的過程中必須保證問題的性質不發(fā)生變化,即在簡化的過程中必須保證兩點:一是問題簡化后具有同樣的形式;二是問題簡化后必須趨于比原問題簡單一些。具體使用遞歸技術時,必須能夠將問題簡化分解為遞歸方程(即問題的形式)和遞歸結束條件(即最簡單的解)兩個部分。如例 n的階乘 ,可以分解得到遞歸方程: n*(n1)!和遞歸結束條件: n=1 時階乘為 1。 ? 例 編程序用遞歸方法求兩個正整數(shù)的最大公約數(shù)。 ? 可以分析得出如下遞歸關系: ????????0)%(),(0)%(),(nmrrnG c dnmrnnmG c dr=m%n=0 gcd(n) retuan n return gcd(n,r) T F 圖 最大公約數(shù)的遞歸算法 /*Name: */ include void main() { int Gcd(int m,int n)。 int num1,num2。 printf(請輸入兩個正整數(shù) : )。 scanf(%d,%d,amp。num1,amp。num2)。 if(num1num2) num1=num1+num2,num2=num1num2,num1=num1num2。 printf(%d與 %d的最大公約數(shù)是 : %d\n,num1,num2,Gcd(num1,num2))。 } int Gcd(int m,int n) { int r。 if((r=m%n)==0) return n。 else return Gcd(n,r)。 } 通過上面兩個示例的分析,遞歸方式的實現(xiàn)也是基于語言的條件控制結構。遞歸函數(shù)設計的基本框架是相對固定的,其一般形式可以描述如下: if 遞歸結束條件成立 Return 已知結果 else 將問題轉化為同性質的較簡單子問題; 以遞歸方式求解子問題(遞歸方程); ? 例 求菲波拉契數(shù)列。已知一對小兔出生一個月后變成一對成兔,兩個月后這對成兔就會生出一對小兔,三個月后這對成兔將生出第二對小兔,而第一對小兔又長大變成一對成兔,即一月成熟,二月生育,如此類推。請用計算機求解一對小兔經 n月后將繁衍成多少對兔子? ? 可以分析出如下遞歸關系 : ? 按照上面分析得到的遞歸方程和結束條件,求菲波拉契數(shù)列的遞歸算法可以設計為如圖 。 ??????????1)2()1(101)(nnfnfnnf n=0或者 n=1 fib(n) retuan 1 return fib(n1)+fib(n2) T F 圖 菲波拉契數(shù)列的遞歸算法 /*Name: */ include void main() { int m。 float fib(int n)。 printf(請輸入
點擊復制文檔內容
教學課件相關推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1