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

正文內(nèi)容

數(shù)據(jù)結(jié)構(gòu)課程設(shè)計---用兩種方式實(shí)現(xiàn)表達(dá)式自動計算-資料下載頁

2025-01-16 16:08本頁面
  

【正文】 }i++。 }PushNum(data,n)。 /*將數(shù)值進(jìn)棧*/ }else { if(array[i]==39。39。) /*遇見字符*/ {while(visitChar(op)!=39。39。) /*對操作符棧進(jìn)行遍歷*/ {PopChar(op,amp。opChar)。 /*字符出棧*/PopNum(data,amp。opA)。PopNum(data,amp。opB)。 /*數(shù)出棧*/ result=Compute(opB,opChar,opA)。 /*調(diào)用運(yùn)算函數(shù)*/PushNum(data,result)。 } }else { if(level(array[i])level(visitChar(op))||visitChar(op)==39。(39。) /*判斷操作符的優(yōu)先級高低*/ {PushChar(op,array[i])。 /*操作符進(jìn)棧*/ }else { if(array[i]==39。)39。) /*當(dāng)操作符為)時*/ {while(visitChar(op)!=39。(39。) /*遍歷操作符棧*/ {PopChar(op,amp。opChar)。PopNum(data,amp。opA)。PopNum(data,amp。opB)。 /*從數(shù)值棧輸出一個值*/result=Compute(opB,opChar,opA)。PushNum(data,result)。 /*結(jié)果放回棧里*/ } PopChar(op,amp。opChar)。 /*輸出操作符*/}else { while(level(array[i])=level(visitChar(op))) /*判斷操作符的優(yōu)先級高低*/ {PopChar(op,amp。opChar)。PopNum(data,amp。opA)。 /*從數(shù)值棧輸出數(shù)值*/PopNum(data,amp。opB)。 esult=Compute(opB,opChar,opA)。 /*調(diào)用運(yùn)算函數(shù)*/PushNum(data,result)。 /*將運(yùn)算結(jié)果入棧*/ }PushChar(op,array[i])。 /*將操作符入棧*/ } } } } }printf(the Result is:%.6f\n\n,result)。 /*輸出掃描一遍的運(yùn)算結(jié)果*/ }}四、運(yùn)行結(jié)果(一)中綴轉(zhuǎn)后綴算法的運(yùn)行結(jié)果:圖 3中綴轉(zhuǎn)后綴算法的運(yùn)行結(jié)果(二)直接計算算法的運(yùn)行結(jié)果:圖 4 直接計算算法的運(yùn)行結(jié)果五、遇到的問題及解決這部分我主要遇到了如下兩個問題,其內(nèi)容與解決方法如下所列:l 問題1: 在遇到小數(shù)點(diǎn)處理的問題上,雖然說處理小數(shù)點(diǎn)的方法不是唯一的,但我在處理的時候只能計算一位小數(shù),如果輸入的是兩位的話,計算結(jié)果的時候它就把一位小數(shù)后面的數(shù)據(jù)全丟了。解決方法: 在輸出后綴表達(dá)式的時候可以看到棧里存的數(shù)據(jù)最多只帶一位小數(shù),所以結(jié)果也只能出現(xiàn)一位小數(shù)。,再加上前面的。但如果是兩位的話,,所以在處理小數(shù)時我加了自乘的這行代碼,運(yùn)行的結(jié)果才真確的出來了。 l 問題2: 無論輸入什么表達(dá)式,不知道結(jié)果為什么始終是‘‘,運(yùn)行還是行的,有的時候程序只是按照掃到最后的一個運(yùn)算符來執(zhí)行。圖 5 運(yùn)行出錯解決方法: 剛開始不知道哪兒出錯了,就瞎找那些有可能會出現(xiàn)錯的地方,比如:能從圖中直接看出來,沒有后綴表達(dá)式;計算結(jié)果也是錯誤的;還有可能是哪個函數(shù)調(diào)用時出了錯。隨后就從最簡單的函數(shù)調(diào)用出錯的問題 開始檢查,沒有發(fā)現(xiàn)什么明顯的錯誤,就放棄了這個問題,接著就是計算有沒有出現(xiàn)簡單的錯誤,因?yàn)樗容^于中綴轉(zhuǎn)后綴要簡單一些,就開始試,單獨(dú)的對這一段代碼試,結(jié)果還是沒發(fā)現(xiàn)什么錯誤,最后就剩下最難的中綴轉(zhuǎn)后綴的問題了,如果這個也沒有錯,那就不知道哪兒出錯了,就開始對它調(diào)試,看了兩個小時也沒找出來什么錯誤。以后才找到那兒出了漏洞,原來缺少一句賦值語句“houzhui[j]=n;”就成這樣了,這個錯誤告訴我一點(diǎn)點(diǎn)的小錯誤也能導(dǎo)致整個程序的錯誤。六、心得體會 通過這次的作業(yè)我充分的認(rèn)識到了自己的不足,特別是對寫程序代碼這方面,一個程序從算法到用程序把它實(shí)現(xiàn)出來,這一整個過程是很不容易的,你懂得它的算法,不一定就能寫的出來,通過這次我也深深的了這一點(diǎn)。對于一個新手來說,小的錯誤出現(xiàn)的太多,而且一個小的錯誤就能讓我束手無策,因?yàn)橄氩煌ㄥe在哪,所以就一直在亂改,邏輯錯誤就更難了,有時候程序運(yùn)行語法沒有錯誤,但只要輸入表達(dá)式計算結(jié)果時,出來的結(jié)果要不是錯的,要不就不出現(xiàn)結(jié)果,這種錯的原因更難找。感覺難的原因可能就是平時少練習(xí),代碼量也是積累很少的,這樣我們尋找程序的錯誤覺得很難,修改過來就更難了。但是運(yùn)行的正確結(jié)果出來的時候,覺得有點(diǎn)興奮。不管怎么說,這次的作業(yè)給我的感觸的確不小,懂得發(fā)現(xiàn)問題,嘗試著從個方面收集資料努力去解決它,提升了自己解決問題的能力,但突然發(fā)現(xiàn)自己原來什么都不會,有的也是理論上懂得一點(diǎn),但實(shí)踐起來卻無法下手,所以覺得自己以后要學(xué)的東西實(shí)在是太多了,必須多動手才能克服這些低級錯誤。 17
點(diǎn)擊復(fù)制文檔內(nèi)容
規(guī)章制度相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1