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

正文內(nèi)容

c程序設計第四章ppt西工大(編輯修改稿)

2025-02-08 07:43 本頁面
 

【文章內(nèi)容簡介】 urs since midnight [0,23] int tm_mday。 //day of the month [1,31] int tm_mon。 //months since January [0,11] int tm_year。 //years since 1900 int tm_wday。 //days since Sunday [0,6] int tm_yday。 //days since January 1 [0,365] int tm_isdst。 //daylight savings time flag }。 時間函數(shù)舉例: include include //tm結(jié)構、 time、 ctime int main( ) { struct tm *local。 //local結(jié)構體變量 time_t t。 //typedef long time_t。 t=time(NULL)。 // 0:0:0開始的秒數(shù) local=localtime(amp。t)。 //日歷時間轉(zhuǎn)換為 tm結(jié)構時間 printf(LocalTime is: %d年 %d月 %d日 %d:%d:%d 星期 %d\n, localtm_year+1900, localtm_mon+1, localtm_mday, localtm_hour, localtm_min, localtm_sec, localtm_wday)。 return 0。 } LocalTime is: 2022年 4月 16日 22:51:27 星期 1 SX045 隨機函數(shù)舉例: 計算機模擬 —— 模擬是計算機的一項重要應用,其意義是比建立實物系統(tǒng)省時、省錢、容易、無危險;另外在實物系統(tǒng)中各種變化因素是很難控制和濾除的,而計算機模擬可以很方便地調(diào)整或濾除參數(shù)并得到相應的結(jié)果。 計算機模擬又分為確定性模擬和隨機性模擬,確定性模擬是指被模擬對象的模型中各參數(shù)都是確定的值;隨機性模擬是指模型中有未確定的參數(shù),這個參數(shù)需要由隨機數(shù)函數(shù)產(chǎn)生。 隨機數(shù)函數(shù) : 函數(shù)原型: int rand( void)。 該函數(shù)返回至少為 0~ 32767之間的隨機整數(shù),反復調(diào)用將產(chǎn)生隨機數(shù)序列,但每次執(zhí)行程序所產(chǎn)生的序列是重復的,因此這是個偽隨機數(shù)序列,在利用計算機模擬某些實驗時恰恰需要這一特性。 VC : define RAND_MAX 0x7fff 隨機化函數(shù) : 函數(shù)原型: void srand(unsiged int seed)。 為 rand函數(shù)設置隨機數(shù)種子,其參數(shù)是 0~ 65535范圍的整數(shù),參數(shù)不同種子也就不同;這將使 rand產(chǎn)生不同的隨機數(shù)序列。 【 例 】 用隨機數(shù)函數(shù) rand模擬投擲一個六面骰子,共投擲 1000次,分別統(tǒng)計六種點數(shù)出現(xiàn)的次數(shù)。 include include //srand、 rand原形聲明 include //time原形聲明 int main( ) { int i, rnum, f1, f2, f3, f4, f5, f6。 srand(100)。 //隨機化處理 f1=f2=f3=f4=f5=f6=0。 for(i=1。 i=1000。 i++) //i:投擲次數(shù) { ┇ } printf(f1=%d\nf2=%d\nf3=%df4=%d\n f5=%d\nf6=%d\n , f1, f2, f3, f4, f5, f6)。 return 0。 } SX046 for(i=1。 i=1000。 i++) //i:投擲次數(shù) { rnum=1+rand( )%6。 //rnum取值 1~ 6 switch(rnum) { case 1: f1++。 break。 case 2: f2++。 break。 case 3: f3++。 break。 case 4: f4++。 break。 case 5: f5++。 break。 case 6: f6++。 } } 54 const參數(shù) ?const參數(shù) ?函數(shù)定義時,允許在形參的類型前面加上 const限定,語法形式為: 返回類型 函數(shù)名 (const 類型 形式參數(shù) ,……) { 函數(shù)體 } 55 const參數(shù) ?函數(shù)參數(shù)使用 const限定的目的是確保形參對應的實參對象在函數(shù)體中不會被修改。 ?通常,基本類型的參數(shù),因為形參和實參本來就不是同一個內(nèi)存單元,即使修改形參也不會影響到實參,因此沒有必要 const限定。 ?但如果是數(shù)組參數(shù)、指針參數(shù)就有必要了。 63 函數(shù)調(diào)用形式 ?嵌套調(diào)用 ?在調(diào)用一個函數(shù)的過程中,又調(diào)用另一個函數(shù),稱為函數(shù)嵌套調(diào)用, C語言允許函數(shù)多層嵌套調(diào)用,只要在函數(shù)調(diào)用前有函數(shù)聲明即可。 函數(shù)調(diào)用形式 1. 嵌套調(diào)用 在一個函數(shù)被調(diào)用的過程中,又發(fā)生了對另一 個函數(shù)的調(diào)用,這種現(xiàn)象稱為函數(shù)嵌套調(diào)用;嵌套 的層次可是多層的。 【 例 】 用函數(shù)求 m個元素中取 n個的組合。 公式: 定義函數(shù): main: 實現(xiàn) I/O、調(diào)用 p函數(shù) 。 p: 描述組合計算公式、調(diào)用階乘函數(shù) fact。 fact: 階乘函數(shù) 。 )!(!!nmnmC nm ??調(diào)用關系: main p fact include int main( ) { int n, m。 long c。 long p(int, int)。 //原形聲明 printf(Enter m,n:)。 scanf(%d,%d, amp。m, amp。n)。 c=p(m, n)。 //調(diào)用函數(shù) printf(C(%d,%d)=%ld\n, m, n, c)。 } ┇ m、 n 組合數(shù) 階乘值 int main( ) { ┅ c=p(m, n)。 ┅ } long p(int m, int n) { long s。 long fact(int)。 //函數(shù)聲明 s=fact(m)/(fact(n)*fact(mn))。 //嵌套調(diào)用 return s。 } long fact(int x) { int i。 long f=1。 for(i=1。 i=x。 i++) f=f*i。 return f。 } SX047 Play67 嵌套調(diào)用 ?【 例 】 用弦截法求 ?方程的根,精度 。 32( ) 5 16 80f x x x x? ? ? ?610? ??68 嵌套調(diào)用 例 1 include 2 include 3 double f(double x) 4 { //所要求解的函數(shù)公式 , 可改為其他公式 5 return x*x*x3*x1。 6 } 7 double point(double a,double b) 8 { //求解弦與 x軸的交點 9 return (a*f(b)b*f(a))/(f(b)f(a))。 10 } 69 嵌套調(diào)用 例 11 double root(double a, double b) 12 { //弦截法求方程 [a,b]區(qū)間的根 13 double x,y,y1。 14 y1=f(a)。 15 do { 16 x=point(a,b)。 //求交點 x坐標 17 y=f(x)。 //求 y 18 if (y*y10) y1=y, a=x。 19 else b=x。 20 } while (fabs(y)=)。 //計算精度 E 21 return x。 22 } 70 嵌套調(diào)用 例 23 int main() 24 { 25 double a,b。 26 scanf(%lf%lf,amp。a,amp。b)。 27 printf(root=%lf\n,root(a,b))。 28 return 0。 29 } 71 遞歸調(diào)用 ? 遞歸調(diào)用 ?函數(shù)直接或間接調(diào)用自己稱為遞歸調(diào)用。 C語言允許函數(shù)遞歸調(diào)用,如圖 ( a)所示為直接遞歸調(diào)用,如圖 ( b)所示為間接遞歸調(diào)用。 圖 遞歸調(diào)用示意 2. 函數(shù)的遞歸調(diào)用 一個函數(shù)被調(diào)用的過程中,又發(fā)生了直接或間接地自己調(diào)用自己,這種現(xiàn)象稱為函數(shù)遞歸調(diào)用; 遞歸是算法設計中的常用技術,是采用分治策略解決復雜問題的有效手段。 分治法的設計思想是:將一個難以直接解決的大問題分割成一些規(guī)模較小的相同子問題,以便各個擊破,分而治之。反復應用分治手段,可使子問題與原問題類型一致而其規(guī)模卻不斷縮小,最終使子問題縮小到很容易求出其解。再回來解決它上層的問題,最終解決所有問題。 遞歸調(diào)用需要占用大量時間和內(nèi)存空間,應綜合考慮后決定是否選用遞歸方法。 【 例 414】 用遞歸法求階乘 可用迭代法和遞歸法定義階乘: 迭代法: n!= 1 2 … (n1) (n2) n 遞歸法: n!=n*(n1)! (n1) 遞歸過程: 5!=5*4! ?24 回 遞 4!=4*3! ?6 歸 歸 3!=3*2! ?2 過 過 2!=2*1! ?1 程 程 1!=1 int main( ) { long fact(int), y 。 int num。 printf(Enter n:)。 scanf(%d, amp。num)。 if(num0) printf(DATA ERROR!)。 else { y=fact(num)。 printf(%d!=%ld\n, num, y)。 } return 0。 } long fact(int n) { long f。 if(n==0||n==1) f=1。 //遞歸控制 else f=n*fact(n1)。 //遞歸調(diào)用 return(f)。 } SX048 Play遞歸說明: 1) 函數(shù) fact的執(zhí)行代碼只有一組,遞歸過程就是 重復執(zhí)行這組代碼段; 2) 每次遞歸調(diào)用,都動態(tài)地為形參 n和局部變量 f 分配存儲單元, n接受本次遞歸傳遞的實參值; 3) 由分支條件控制遞歸的繼續(xù)或終止; 注意:要保證遞歸是有限的 4) 遞歸調(diào)用過程始終未出現(xiàn) f的賦值操作,始終未 執(zhí)行過 return語句; 5) 遞歸調(diào)用結(jié)束的回歸過程,將不斷執(zhí)行 return和 f的賦值。 求 3!遞歸和回歸過程圖示: 遞歸調(diào)用過程中,每次調(diào)用都將使問題用較小規(guī)模的問題代替,直到問題的描述小到可以直接給出解為止;接著便開始回歸過程,回歸的過程是從一個已知值推出下一個值。 y = f a c t ( 3 ) 。 輸 出 yf = 3 * f a c t ( 2 )
點擊復制文檔內(nèi)容
教學課件相關推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1