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

正文內(nèi)容

模擬計(jì)算器程序-課程設(shè)計(jì)(完整版)

  

【正文】 ut | 7 8 9 + / |endl。:return a/b。 case 39。 case 39。 case 39。 case 39。/39。 return false。 define mem(a,b) memset(a,b,sizeof(a)) const int MaxLength=1010。 本次課程設(shè)計(jì)培養(yǎng)了了我們獨(dú)立思考的 能力,提高了我們的動(dòng)手操作水平。(39。A39。 //創(chuàng)建子表達(dá)式 ()。 //放入操作數(shù)結(jié)果 } } Ans=()。iSize。 ()。*39。 }()。 //為 39。:key=5。:key=2。:key=1。 可以看出算法復(fù)雜度是 O(n)的,因此效率是比較高的,能夠在 1s 內(nèi)處理百萬(wàn)級(jí)別長(zhǎng)度的表達(dá)式。為止。 ( 2)如果 ch 是操作數(shù),直接加進(jìn) stack 中。)sum=1。 s[i]!=39。 s[i]!=39。 s[i]!=39。如果在中途出現(xiàn) sum 小于零的情況,即出現(xiàn)“ ..... )” 那么的情況,即非法。本程序用戶界面總共分為 3 個(gè)模塊,分別是操作提示,數(shù)據(jù)輸入,數(shù)據(jù)輸出。 5 輸出表達(dá)式的結(jié)果。數(shù)據(jù)結(jié)構(gòu)是介于數(shù)學(xué)、計(jì)算機(jī)軟件和計(jì)算機(jī)硬件之間的一門(mén)計(jì)算機(jī)專(zhuān)業(yè)的核心課程,它是計(jì)算機(jī)程序設(shè)計(jì)、數(shù)據(jù)庫(kù)、操作系統(tǒng)、編譯原理及人工智能等的重要基礎(chǔ),廣泛的應(yīng)用于信息學(xué)、系統(tǒng)工程等各種領(lǐng)域。本程序做到了對(duì)輸入的表達(dá)式(表達(dá)式可以包含浮點(diǎn)數(shù)并且 Abs()和 Sqrt()中可以嵌套子表達(dá) 式)進(jìn)行判定表達(dá)式是否合法并且求出表達(dá)式的值的功能。經(jīng)過(guò)一系列的調(diào)試運(yùn)行,程序?qū)崿F(xiàn)了設(shè)計(jì)目標(biāo),可以正確的處理用戶輸入的表達(dá)式,對(duì)海量級(jí)數(shù)據(jù)都能夠通過(guò)計(jì)算機(jī)運(yùn)算快速解決。學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)是為了將實(shí)際問(wèn)題中涉及的對(duì)象在計(jì)算機(jī)中表示出來(lái)并對(duì)它們進(jìn)行處理。通過(guò)設(shè)計(jì)該程序,從而做到方便的求出一個(gè)表達(dá)式的值,而不需要一步一步進(jìn)行運(yùn)算。如圖 所示。在遍歷的最后,還要判斷 sum 的值是否為零,如果為零就是合法,否則就是非法。(39。A39。.39。 if(sum0)return false。 ( 3)如果 ch 是運(yùn)算符(含左右括號(hào)),則: a:如果 ch = 39。 c:如果 ch 不是 39。算法的主要思想是利用“棧 ” 的后進(jìn)先出的特性,以及運(yùn)算符的優(yōu)先級(jí),這里我們定義運(yùn)算符的優(yōu)先級(jí);代碼如下: int GetKey(char c){ //定義運(yùn)算符的關(guān)鍵字 int key。break。break。break。(39。 //取出 39?;蛘?39。 } (num[i])。i++){ if(!SufExp[i].second){ //為數(shù)據(jù) (SufExp[i].first)。 return Ans。 for(j=0。?fabs():sqrt())。))num[k].first=num[k].first。在具體設(shè)計(jì)操作中,我們鞏固了本學(xué)期所學(xué)的數(shù)據(jù)結(jié)構(gòu)與算法的理論知識(shí),進(jìn)一步提高了自己的編程能力。 //數(shù)組的最大存儲(chǔ)空間 bool IsNum(char c) //判斷是否是數(shù)字 { if(c=39。 } bool IsSign(char c) //判斷是否是運(yùn)算符號(hào) { if(c==39。)return true。39。/39。)39。39。 } return 0。 cout | 4 5 6 A(abs) |endl。 //得到后綴表達(dá)式 double GetAns()。 //中綴表達(dá)式中 39。 mem(Pos,1)。i()。amp。amp。 if(s[i]==39。 for(i=0。) //判斷除法的被除數(shù)是不是為零 return false。)39。)sum+=1。 } } } return true。 || s[i]==39。 =st。 amp。 int ok=0,w=1。.39。 if(s[i1]==39。 i=j1。 num[k].first=(double)s[i]。,直接放入 sta2 (num[i])。 //取出 39?;蛘?39。 } (num[i])。 } } double Expression::GetAns() { int i。 num2=()。 } else{ cout對(duì)不起 ,您輸入的表達(dá)式不符合規(guī)范 !endl。 //表達(dá)式相關(guān)數(shù)據(jù)初始化 ()。y39。 cout歡迎使用 endl。 //表達(dá)式運(yùn)算 ()。 string IsContinue。 temp=Cal((char)SufExp[i].first,num2,num1)。 //num1和 num2為運(yùn)算符兩遍的操作數(shù) stackdouble sta。 ()。運(yùn)算符 ,取出 sta2中的運(yùn)算符 , push到 sta1中 ,直到比 sta2棧頂中的優(yōu)先級(jí)大 */ else { while(!() amp。括號(hào) } /*為 39。)39。 } } /* 雙棧 ,sta1存放后綴表達(dá)式 ,sta2存放運(yùn)算符符號(hào) */ stackpairdouble,int sta1,sta2。39。 amp。039。j() amp。 (i1==0 || s[i2]==39。 //得到子表達(dá)式的值 num[k].first=(s[i]==39。){ //遇到 Abs()或者 Sqrt()遞歸處理子表達(dá)式 Expression temp。 char st[MaxLength]。(39。 for(j=i。i()。i++){ if(IsSign(s[i])){ if(s[i]==39。)sum+=1。S39。)39。amp。 //表達(dá)式不合法,退出 GetSuffix()。對(duì)應(yīng)的 39。
點(diǎn)擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計(jì)相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1