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

正文內(nèi)容

數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)-表達(dá)式類型的實(shí)現(xiàn)難度系數(shù):12(編輯修改稿)

2025-07-09 15:11 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 根據(jù)不同的運(yùn)算符,實(shí)現(xiàn)不同的運(yùn)算,返回運(yùn)算結(jié)果 */ Status Check(BiTree E)。 /*檢查表達(dá)式是否還存在沒(méi)有賦值的變量,以便求算數(shù)表達(dá)式 的值 */ long Value(BiTree E)。 /*對(duì)算術(shù)表達(dá)式求值 */ void CompoundExpr(char P,BiTree *E1,BiTree E2)。 /*構(gòu)造一個(gè)新的復(fù)合表達(dá)式 */ 主程序和其他偽碼算法 void main(){ BiTree E1,E2。 char V,P。 int c。 ReadExpr(amp。E1)。 printf(\nE1帶括弧的中綴表示式為: )。 WriteExpr(E1)。 while(Check(E1)==TRUE){ printf(\n請(qǐng)輸入要賦值的字符: )。 V=getchar()。 printf(請(qǐng)輸入要將賦值為: )。 scanf(%d,amp。c)。 Assign(amp。E1,V,c)。 getchar()。 WriteExpr(E1)。 printf(\n輸入未知數(shù)后 E1表達(dá)式為: )。 WriteExpr(E1)。 } printf(\nE1表達(dá)式的值為 : %d,Value(E1))。 ReadExpr(amp。E2)。 printf(\nE2帶括弧的中綴表示式為: )。 WriteExpr(E2)。 Assign(amp。E2,V,c)。 CompoundExpr(P,amp。E1,E2)。 } 函數(shù)的調(diào)用關(guān)系 除了主函數(shù) main()外,其他各個(gè)函數(shù)相對(duì)于其它函數(shù)來(lái)說(shuō)是獨(dú)立的,函數(shù)的使用都由主函數(shù) main()調(diào)用使用的,可以簡(jiǎn)單的說(shuō),各個(gè)函數(shù)都是主函數(shù)下的從函數(shù)。 四 、 【調(diào)試 分析】 1. 開(kāi)始設(shè)計(jì)時(shí)我設(shè)想建樹(shù)時(shí)可以設(shè)定五個(gè)域,左右孩子,標(biāo)志tag, int型值域, char型值域。但是 在存儲(chǔ)時(shí)發(fā)現(xiàn)每個(gè)字符只需占一個(gè)域就可以,所以我又采用共同體這樣節(jié)約了內(nèi)存。 2. 在算法設(shè)計(jì)中,構(gòu)造表達(dá)式樹(shù)的時(shí)候,本來(lái)以為使用遞歸構(gòu)造表達(dá)式會(huì)很難做到出錯(cuò)處理的,所以采用了順序棧輔助構(gòu)造方法,并且盡可能地對(duì)程序進(jìn)行完善,出錯(cuò)處理。但是經(jīng)過(guò)與同學(xué)的相互討論和研究,發(fā)現(xiàn)自己的想法犯了很大的錯(cuò)誤,遞歸構(gòu)造表達(dá)式對(duì)于出錯(cuò)處理很簡(jiǎn)單也很完善,這一點(diǎn)讓我加深了遞歸的使用和理解。 ,我最頭疼的地方。首先開(kāi)始運(yùn)行時(shí)會(huì)出現(xiàn)錯(cuò)誤,無(wú)法輸出正確結(jié)果。通過(guò)網(wǎng)上搜索,我發(fā)現(xiàn)對(duì)于三角函數(shù)的定義類型必須是double,這樣的話,如果要改的話,差不多改大半程序,所以我就讓此功能單獨(dú)出來(lái),由提示讓用戶手動(dòng)完成。 ,花費(fèi)時(shí)間最為多的是對(duì)輸入錯(cuò)誤表達(dá)式的出錯(cuò)處理,更改增加的代碼幾乎都是為了出錯(cuò)處理,但是,覺(jué)得這樣的調(diào)試才更能鍛煉一個(gè)人的編程能力。 五 、 【用戶使用說(shuō)明 】 打開(kāi)程序,按屏幕上的提示輸入數(shù)據(jù),隨后就可以看到結(jié)果了。 六 、 【測(cè)試結(jié)果 】 0 a 91 +a*bc +*5x2*8x +++*3^x3*2^x2x6 7. CompoundExpr(P,amp。E1,E2)合并操作 七 、 【附錄 】 include include include include include define TRUE 1 define FALSE 0 define OK 1 define ERROR 0 typedef int Status。 typedef enum{INT,CHAR}ElemTag。 typedef struct TElemType { ElemTag tag。 union { int num。 char c。 }。 }TElemType。 typedef struct BiTNode { TElemType data。 struct BiTNode *lchild,*rchild。 }BiTNode,*BiTree。 typedef BiTree SElemType。 define STACK_INIT_SIZE 10 define STACKINCREMENT 2 typedef struct SqStack { SElemType *base。 SElemType *top。 int stacksize。 }SqStack。 Status InitStack(SqStack *S) { (*S).base=(SElemType *)malloc(STACK_INIT_SIZE*sizeof(SElemType))。 if(!(*S).base)exit(OVERFLOW)。 (*S).top=(*S).base。 (*S).stacksize=STACK_INIT_SIZE。 return OK。 } Status StackEmpty(SqStack S) { if(==) return TRUE。 else return FALSE。 } Status Push(SqStack *S,SElemType e) { if((*S).top(*S).base=(*S).sta
點(diǎn)擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計(jì)相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1