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

正文內(nèi)容

數(shù)據(jù)結構實驗二報告(已修改)

2024-11-13 18:01 本頁面
 

【正文】 第一篇:數(shù)據(jù)結構實驗二報告數(shù)據(jù)結構實驗二報告——簡單計算器姓名:王稀賓 班 級:06111106 學號:1120111699 一實驗目的按照四則運算加、減、乘、除、冪(^)和括號的優(yōu)先關系和慣例,編寫計算器程序。二實驗內(nèi)容要求:從鍵盤輸入一個完整的表達式,以回車作為表達式輸入結束的標志。輸入表達式中的數(shù)值均為大于等于零的整數(shù)。中間的計算過程如果出現(xiàn)小數(shù)也只取整。三程序設計程序模塊:1輸入模塊,輸入多項式;2計算模塊,根據(jù)輸入內(nèi)容,判斷分析,計算出結果; 3輸出模塊,輸出計算結果。定義結構創(chuàng)建結點: typedef struct { double data[50]。int top。}OPND_Stack。//運算符結構體 typedef struct { char data[50]。int top。}OPTR_Stack。主函數(shù)部分: void main(){ char a[80]。int m。char b[80]。printf(“============簡易計算器============n”)。printf(“[:1+(2+3)*9/(2)6].n請輸入一個表達式:n”)。while(1){gets(a)。strcpy(b,a)。while(1){int p。m=strlen(a)。p=Can(a,m)。if(p==0)break。printf(“:n”)。gets(a)。strcpy(b,a)。}printf(“=*=*=*=*=*=*表達式結果=*=*=*=*=*=*n”)。printf(“該表達式的結果為:n%s=%”,b,EvaluateExpression(a))。printf(“=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*n”)。printf(“繼續(xù)使用[:1+(2+3)*9/(2)6]..n請再輸入 一個表達式:n”)。} }四程序調(diào)試分析1在四則混合運算中,運算符號的優(yōu)先級比較難判斷。2心得體會: 我對編程是有很濃厚興趣的。在編程的過程中,我深深地體會到力不從心—有些知識沒能深入地理解和掌握以及VC++的許多功能沒能探索和了解使我編程時有好多的思想運用不上(如設計一個美觀的操作界面)。另外,我也感受到了數(shù)據(jù)結構的重要性,有了結構才能將好的思想付諸實踐。同時經(jīng)過查詢資料了解到棧由多種運用方法,其中包括棧的順序存儲結構和鏈式存儲結構,棧是計算表達式的經(jīng)典應用。數(shù)據(jù)結構中的許多結構都是很經(jīng)典思想,只有把編程語言和數(shù)據(jù)結構都熟練掌握的情況下,才能做出一些很好的作品。在編程過程中,雖然有時候是很發(fā)悶的,尤其是程序無錯但結果不對,但是在完成一個完整的程序時所帶來的喜悅是其它事情所不能替代的。我很喜歡編程,即使我的知識和能力有限,但我相信經(jīng)過努力,一切皆有可能。五用戶使用說明按要求正確輸入表達式即可得到結果。六程序運行結果 附程序清單include include include //算符優(yōu)先級表 char First[7][7]= { //39。+39。,39。39。,39。*39。,39。/39。,39。(39。,39。)39。,39。^39。 /*39。+39。*/ 39。39。,39。39。,39。39。,39。39。,39。39。,39。39。,39。39。,39。39。,39。39。,39。39。,39。39。,39。39。,39。39。,39。39。,39。39。,39。39。,39。39。,39。39。,39。39。,39。39。,39。39。,39。39。,39。 39。, /*39。)39。*/ 39。39。,39。39。,39。39。,39。39。,39。39。,39。 39。,39。char OP[7]={39。+39。,39。39。,39。*39。,39。/39。,39。(39。,39。)39。,39。39。}。//數(shù)據(jù)結構體 typedef struct { double data[50]。int top。}OPND_Stack。//運算符結構體 typedef struct{ char data[50]。int top。}OPTR_Stack。//初始化運算符棧函數(shù)void InitStack_R(OPTR_Stack *a){ atop=1。} //初始化數(shù)據(jù)站函數(shù)void InitStack_D(OPND_Stack *a){ atop=1。} //運算符進棧函數(shù)void Push_R(OPTR_Stack *a,char b){ atop++。adata[atop]=b。} //數(shù)據(jù)進棧函數(shù)void Push_D(OPND_Stack *a,double b){ atop++。adata[atop]=b。} //取運算符棧頂符函數(shù)void GetTop_R(OPTR_Stack *a,char *b){ *b=adata[atop]。} //取數(shù)據(jù)棧頂數(shù)函數(shù)void GetTop_D(OPND_Stack *a,double *b){ *b=adata[atop]。} //判斷數(shù)據(jù)是否為運算符函數(shù) int In(char a,char *s){ for(int i=0。iif(a==s[i])return 1。return 0。} //算符優(yōu)先級判斷函數(shù)char Precede(char a,char b){ int m,n。for(int i=0。iif(a==OP[i])m=i。if(b==OP[i])n=i。} return First[m][n]。} //刪除運算符棧頂元素,并取新棧的棧頂元素 void Pop_R(OPTR_Stack *a,char *b){ atop。*b=adata[atop]。} //取數(shù)據(jù)站的棧頂元素,并從棧中刪除此元素 void Pop_D(OPND_Stack *a,double *b){ *b=adata[atop]。atop。} //算符優(yōu)先算法求值核心函數(shù)double EvaluateExpression(char *s){ OPND_Stack OPND。OPTR_Stack OPTR。char ch,theta。double x,a,b。int k=0。strcat(s,“”)。InitStack_R(amp。OPTR)。Push_R(amp。OPTR,39。39。)。InitStack_D(amp。OPND)。GetTop_R(amp。OPTR,amp。ch)。while(s[k]!=39。39。||ch!=39。39。){if(In(s[k],OP)==0){x=Getdouble(s,amp。k)。Push_D(amp。OPND,x)。}else{switch(Precede(ch,s[k])){case39。k++。break。
點擊復制文檔內(nèi)容
環(huán)評公示相關推薦
文庫吧 www.dybbs8.com
公安備案圖鄂ICP備17016276號-1