版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 數(shù)據(jù)結(jié)構(gòu)</b></p><p><b> 課程設(shè)計(jì)說(shuō)明書(shū)</b></p><p> 題目: 表達(dá)式求值 </p><p> 院 系: 計(jì)算機(jī)科學(xué)與工程學(xué)院 </p><p> 專業(yè)班級(jí): 計(jì)算機(jī)1
2、2-1班 </p><p> 學(xué) 號(hào): </p><p> 學(xué)生姓名: </p><p> 指導(dǎo)教師: </p><p> 2014年 01 月 17 日</p><p&
3、gt; 課程設(shè)計(jì)(論文)任務(wù)書(shū)</p><p> 計(jì)算機(jī)科學(xué)與工程 學(xué)院 </p><p> 2013年 11 月 21 日 </p><p><b> 目 錄</b></p><p><b> 1需求分析1<
4、/b></p><p><b> 2概要設(shè)計(jì)1</b></p><p><b> 2.1設(shè)計(jì)思路1</b></p><p> 2.2功能模塊設(shè)計(jì)1</p><p> 2.3算法流程圖2</p><p><b> 3詳細(xì)設(shè)計(jì)4</b
5、></p><p> 3.1數(shù)據(jù)存儲(chǔ)設(shè)計(jì)4</p><p> 3.2詳細(xì)代碼設(shè)計(jì)4</p><p> 3.2.1基本功能實(shí)現(xiàn)4</p><p> 3.2.2圖形界面各按鈕功能實(shí)現(xiàn)8</p><p> 4調(diào)試與運(yùn)行12</p><p><b> 5總結(jié)1
6、6</b></p><p><b> 參考文獻(xiàn)17</b></p><p><b> 需求分析</b></p><p> 程序功能:能夠處理以字符序列的形式輸入的不含變量的實(shí)數(shù)表達(dá)式,正確處理小數(shù),判斷表達(dá)式是還語(yǔ)法正確,正確實(shí)現(xiàn)對(duì)算術(shù)四則混合運(yùn)算表達(dá)式的求值。 </p><
7、;p> 輸入形式和輸入值的范圍:以字符串的形式輸入表達(dá)式。 </p><p> 輸出的形式:在計(jì)算過(guò)程中遇到的問(wèn)題或最終的答案將顯示在屏幕上。 </p><p> 測(cè)試數(shù)據(jù):輸入“(5.2+3.4)*8/(6.1-3)”時(shí),輸出“22.1936”,測(cè)試正確;輸入“.8”時(shí),輸出“輸入錯(cuò)誤!”,測(cè)試正確。</p><p><b&g
8、t; 概要設(shè)計(jì)</b></p><p><b> 2.1設(shè)計(jì)思路</b></p><p> 為了實(shí)現(xiàn)算符優(yōu)先算法,可以使用兩個(gè)工作棧。一個(gè)稱為OPTR,用以寄存運(yùn)算符,另一個(gè)稱作OPND,用以寄存操作數(shù)或運(yùn)算結(jié)果。算法的基本思想是:</p><p> ?。?)首先置非運(yùn)算符棧為空棧,表達(dá)式起始符“#” 為運(yùn)算符棧的棧
9、底元素;</p><p> ?。?)依次讀入表達(dá)式中每個(gè)字符,若是非運(yùn)算符則進(jìn)OPND棧,若是運(yùn)算符則和OPTR棧的棧頂運(yùn)算符比較優(yōu)先權(quán)后做相應(yīng)的操作,直至整個(gè)表達(dá)式求值完畢。</p><p> 算法中還調(diào)用了兩個(gè)函數(shù),其中Precede是判定運(yùn)算符棧頂運(yùn)算符a與讀入的運(yùn)算符b之間優(yōu)先關(guān)系的函數(shù);Operate為進(jìn)行二元運(yùn)算a theta b的函數(shù),如果是編譯表達(dá)式,則產(chǎn)生這個(gè)運(yùn)算的一組
10、相應(yīng)指令并返回存放結(jié)果的中間變量名;如果是解釋執(zhí)行表達(dá)式,則直接進(jìn)行該運(yùn)算,并返回運(yùn)算結(jié)果。</p><p><b> 2.2功能模塊設(shè)計(jì)</b></p><p> (1) InitStackchar(Stackchar &S):構(gòu)造運(yùn)算符棧。</p><p> ?。?) InitStackint(Stackint &S):
11、構(gòu)造非運(yùn)算符棧。</p><p> (3) Pushchar(SqStackchar &S,char e):運(yùn)算符棧插入元素e為新的棧頂元素。</p><p> ?。?) Pushint(SqStackint &S,float e):非運(yùn)算符棧插入元素e為新的棧頂元素。</p><p> (5) Popchar(SqStackchar &
12、S,char &e): 刪除運(yùn)算符棧S的棧頂元素,用e返回其值。</p><p> ?。?) Popint(SqStackint &S,float &e):刪除非運(yùn)算符棧S的棧頂元素,用e返回其值。</p><p> ?。?) GetTopchar(SqStackchar S):用e返回運(yùn)算符棧S的棧頂元素。</p><p> ?。?/p>
13、8) float GetTopint(SqStackint S):用e返回操作數(shù)棧S的棧頂元素。</p><p> ?。?) Xiaoshu(char c):用于計(jì)算個(gè)位數(shù)。</p><p> ?。?0) Precede(char a,char b):判斷運(yùn)算符的優(yōu)先權(quán)功能。</p><p> a<b a的優(yōu)先權(quán)低于b</p>&l
14、t;p> a=b a的優(yōu)先權(quán)等于b</p><p> a>b a的優(yōu)先權(quán)高于b</p><p> 算符間的優(yōu)先關(guān)系見(jiàn)表1:</p><p> 表1 算符間的優(yōu)先關(guān)系</p><p> ?。?1)Operate(float a,char theta,float b):操作數(shù)用對(duì)應(yīng)的運(yùn)算符進(jìn)行運(yùn)算功能,運(yùn)算結(jié)果直接返回&l
15、t;/p><p><b> 2.3算法流程圖</b></p><p> 算法流程圖如圖1所示。</p><p><b> 圖1 算法流程圖</b></p><p><b> 詳細(xì)設(shè)計(jì)</b></p><p><b> 3.1數(shù)據(jù)存儲(chǔ)設(shè)計(jì)&
16、lt;/b></p><p> 因?yàn)楸磉_(dá)式是由操作符,運(yùn)算符和界限符組成的。如果只用一個(gè)char類型棧,不能滿足2位以上的整數(shù),所以還需要定義一個(gè)int類型的棧用來(lái)寄存操作數(shù)。</p><p> #include<stdio.h></p><p> #include<stdlib.h></p><p>
17、#define MAXSIZE 100 //存儲(chǔ)空間初始分配量</p><p> #define STACKINCREMENT 10 //存儲(chǔ)空間分配增量</p><p> //定義結(jié)點(diǎn)元素結(jié)構(gòu)(用于存放運(yùn)算符)</p><p> typedef struct charstack</p><p><
18、b> {</b></p><p> char *base; //在棧構(gòu)造之前,base的值為NULL</p><p> char *top; //棧頂指針</p><p> int stacksize; //當(dāng)前已分配的存儲(chǔ)空間,以元素為單位</p><p> }SqSt
19、ackchar; </p><p> //定義結(jié)點(diǎn)元素結(jié)構(gòu)(用于存放非運(yùn)算符)</p><p> typedef struct intstack</p><p><b> {</b></p><p> float *base; //在棧構(gòu)造之前,base的值為NULL</p
20、><p> float *top; //棧頂指針</p><p> int stacksize; //當(dāng)前已分配的存儲(chǔ)空間,以元素為單位</p><p> }SqStackint; </p><p><b> 3.2詳細(xì)代碼設(shè)計(jì)</b></p><p
21、> 3.2.1基本功能實(shí)現(xiàn)</p><p><b> ?。?)構(gòu)造一個(gè)空棧</b></p><p> 以構(gòu)造一個(gè)用于存放運(yùn)算符的空棧為例。</p><p> 算法思想:在棧中分配一定的存儲(chǔ)空間,用于存放運(yùn)算符。</p><p> 其功能實(shí)現(xiàn)代碼如下:</p><p> int I
22、nitStackchar(SqStackchar &S){</p><p> //構(gòu)造一個(gè)空棧(用于存放運(yùn)算符)</p><p> S.base=(char *)malloc(MAXSIZE * sizeof(char));</p><p> if(!S.base)</p><p> return 0; //存儲(chǔ)分配
23、失敗</p><p> S.top=S.base; //空棧</p><p> S.stacksize=MAXSIZE;</p><p><b> return 1;</b></p><p><b> }</b></p><p> ?。?)元素進(jìn)運(yùn)算符的棧&
24、lt;/p><p> 算法思想:如果棧滿,則增加存儲(chǔ)空間;元素入棧,棧頂指針增1,并用e返回其值。</p><p> 其功能實(shí)現(xiàn)代碼如下:</p><p> int Pushchar(SqStackchar &S,char e){</p><p> //元素進(jìn)運(yùn)算符的棧</p><p> if(S.to
25、p-S.base>=S.stacksize){ //棧滿,追加存儲(chǔ)空間</p><p> S.base=(char *)realloc(S.base,(S.stacksize+STACKINCREMENT)*sizeof(char));</p><p> if(!S.base)</p><p> return 0; //存儲(chǔ)
26、分配失敗</p><p> S.top=S.base+S.stacksize;; //因?yàn)閟.base可能不是原來(lái)值</p><p> S.stacksize+=STACKINCREMENT;</p><p><b> }</b></p><p> *S.top++=e; //元素
27、入棧,棧頂指針增1</p><p><b> return 1;</b></p><p><b> }</b></p><p> (3)取棧頂元素(存放運(yùn)算符的棧頂元素)</p><p> 算法思想:如果棧不空,棧頂指針減1,并用e返回其值。</p><p> 其功
28、能實(shí)現(xiàn)代碼如下:</p><p> char GetTopchar(SqStackchar S){</p><p><b> char e;</b></p><p> if(S.top==S.base)</p><p><b> return 0;</b></p><p
29、> e=*(S.top-1); //棧本身不改變</p><p><b> return e;</b></p><p><b> }</b></p><p> (4)出棧(運(yùn)算符)</p><p> 算法思想:將棧指針的內(nèi)容減1,即指向棧頂元素,并取出目前棧頂指針?biāo)赶?/p>
30、元素,并用e返回其值。</p><p> 其功能實(shí)現(xiàn)代碼如下:</p><p> int Popchar(SqStackchar &S,char &e){</p><p> if(S.top==S.base)</p><p><b> return 0;</b></p><p&
31、gt; e=*--S.top; //棧頂指針減1,并取出當(dāng)前指向元素</p><p><b> return 1;</b></p><p><b> }</b></p><p> ?。?)用于計(jì)算個(gè)位數(shù)。</p><p> 算法思想:利用ASCII碼轉(zhuǎn)換。</p>
32、<p> 其功能實(shí)現(xiàn)代碼如下:</p><p> int Xiaoshu(char c){</p><p> if(c>=48&&c<=57) </p><p><b> {</b></p><p><b> c- =48;</b&g
33、t;</p><p><b> return c;</b></p><p><b> }</b></p><p><b> else </b></p><p><b> return 0;</b></p><p><b
34、> }</b></p><p> ?。?)判斷運(yùn)算符棧的棧頂元素與讀入的運(yùn)算符之間優(yōu)先關(guān)系的函數(shù)。</p><p> 算法思想:a<b a的優(yōu)先權(quán)低于b</p><p> a=b a的優(yōu)先權(quán)等于b</p><p> a>b a的優(yōu)先權(quán)高于b</p><p> 其功能實(shí)現(xiàn)代碼
35、如下:</p><p> char Precede(char a,char b){</p><p><b> char c;</b></p><p> if(a=='+'||a=='-'){</p><p> if(b=='*'||b=='/'||
36、b=='(') return c='<';</p><p> else return c='>';</p><p><b> }</b></p><p> else if(a=='*'||a=='/'){</p><p&
37、gt; if(b=='(') return c='<';</p><p> else return c='>';</p><p><b> }</b></p><p> else if(a=='('){</p><p> if(
38、b==')') return c='=';</p><p> else if(b=='#'){</p><p> printf(" ");</p><p><b> exit(0);</b></p><p><b> }</b
39、></p><p> else return c='<';</p><p><b> }</b></p><p> else if(a==')'){</p><p> if(b=='('){</p><p> printf(
40、" ");</p><p><b> exit(0);</b></p><p><b> }</b></p><p> else return c='>';</p><p><b> }</b></p><
41、;p> else if(a=='#'){</p><p> if(b=='#') return c='=';</p><p> else if(b==')'){</p><p> printf(" ");</p><p><b>
42、 exit(0);</b></p><p><b> }</b></p><p> else return c='<';</p><p><b> }</b></p><p><b> }</b></p><p&
43、gt; (7)執(zhí)行相應(yīng)的運(yùn)算操作。</p><p> 算法思想:執(zhí)行相應(yīng)的加減乘除運(yùn)算,除數(shù)不能為零,否則錯(cuò)誤。</p><p> 其功能實(shí)現(xiàn)代碼如下:</p><p> float Operate(float a,char theta,float b){</p><p><b> float c;</b>&
44、lt;/p><p> switch(theta)</p><p><b> {</b></p><p> case '+':c=a+b;break;</p><p> case '-':c=a-b;break;</p><p> case '*'
45、;:c=a*b;break;</p><p> case '/':if(b!=0)c=a/b;</p><p><b> else</b></p><p> printf("輸入錯(cuò)誤!\n");</p><p><b> break;</b></p&
46、gt;<p><b> }</b></p><p><b> return c;</b></p><p><b> }</b></p><p> 3.2.2圖形界面各按鈕功能實(shí)現(xiàn)</p><p> ?。?)加號(hào)按鈕實(shí)現(xiàn)代碼如下:</p>&l
47、t;p> void CMyDlg::OnButton11() </p><p><b> {// 加號(hào)</b></p><p><b> ++i;</b></p><p><b> a[i]='+';</b></p><p><b>
48、m_show=a;</b></p><p> UpdateData(FALSE);</p><p><b> }</b></p><p> ?。?)減號(hào)按鈕實(shí)現(xiàn)代碼如下:</p><p> void CMyDlg::OnButton12() </p><p><b>
49、 {// 減號(hào)</b></p><p><b> ++i;</b></p><p><b> a[i]='-';</b></p><p><b> m_show=a;</b></p><p> UpdateData(FALSE);</p
50、><p><b> }</b></p><p> (3)乘號(hào)按鈕實(shí)現(xiàn)代碼如下:</p><p> void CMyDlg::OnButton13() </p><p><b> {// 乘號(hào)</b></p><p><b> ++i;</b><
51、;/p><p><b> a[i]='*';</b></p><p><b> m_show=a;</b></p><p> UpdateData(FALSE);</p><p><b> }</b></p><p> ?。?)除號(hào)按
52、鈕實(shí)現(xiàn)代碼如下:</p><p> void CMyDlg::OnButton14() </p><p><b> {//除號(hào)</b></p><p><b> ++i;</b></p><p><b> a[i]='/';</b></p>
53、<p><b> m_show=a;</b></p><p> UpdateData(FALSE);</p><p><b> }</b></p><p> ?。?)左括號(hào)按鈕實(shí)現(xiàn)代碼如下:</p><p> void CMyDlg::OnButton16() </p>
54、;<p><b> {// 左括號(hào)</b></p><p><b> ++i;</b></p><p><b> a[i]='(';</b></p><p><b> m_show=a;</b></p><p> U
55、pdateData(FALSE);</p><p><b> }</b></p><p> ?。?)右括號(hào)按鈕實(shí)現(xiàn)代碼如下:</p><p> void CMyDlg::OnButton17() </p><p><b> {// 右括號(hào)</b></p><p><
56、;b> ++i;</b></p><p><b> a[i]=')';</b></p><p><b> m_show=a;</b></p><p> UpdateData(FALSE);</p><p><b> }</b><
57、/p><p> (7)小數(shù)點(diǎn)按鈕實(shí)現(xiàn)代碼如下:</p><p> void CMyDlg::OnButton18() </p><p><b> {// 小數(shù)點(diǎn)</b></p><p><b> ++i;</b></p><p><b> a[i]='
58、.';</b></p><p><b> m_show=a;</b></p><p> UpdateData(FALSE);</p><p><b> }</b></p><p> ?。?)撤銷按鈕實(shí)現(xiàn)代碼如下:</p><p> void CMy
59、Dlg::OnButton19() </p><p><b> {// 撤銷按鈕</b></p><p><b> if(i>=0){</b></p><p> a[i]=NULL;</p><p><b> i--;</b></p><p&g
60、t;<b> m_show=a;</b></p><p> UpdateData(FALSE);</p><p><b> }</b></p><p><b> }</b></p><p> ?。?)清除按鈕實(shí)現(xiàn)代碼如下:</p><p> v
61、oid CMyDlg::OnButton21() </p><p><b> {// 清除按鈕</b></p><p> while(i>=0){</p><p> a[i]=NULL;</p><p><b> i--;</b></p><p><b&g
62、t; }</b></p><p><b> m_show=a;</b></p><p> m_result=0;</p><p> UpdateData(FALSE);</p><p><b> }</b></p><p> ?。?0)數(shù)字按鈕(以數(shù)字1
63、為例)實(shí)現(xiàn)代碼如下:</p><p> void CMyDlg::On1() </p><p><b> {// 數(shù)字1按鈕</b></p><p><b> ++i;</b></p><p><b> a[i]='1';</b></p>
64、<p><b> m_show=a;</b></p><p> UpdateData(FALSE);</p><p><b> }</b></p><p> (11)等號(hào)按鈕實(shí)現(xiàn)代碼如下:</p><p> void CMyDlg::OnButton15() </p>
65、<p><b> {// 等號(hào)</b></p><p> SqStackchar OPTR;</p><p> SqStackint OPND;</p><p> float aa,b,f;</p><p> int m=1,n=0,sum=0;</p><p> cha
66、r c,x,theta;</p><p> InitStackchar(OPTR);</p><p> Pushchar(OPTR,'#');</p><p> InitStackint(OPND);</p><p><b> c=a[n++];</b></p><p>
67、 if(n>i||(c>=40&&c<=43)||c==45||(c>=47&&c<=57)){</p><p> while(n<=i||GetTopchar(OPTR)!='#'){</p><p> if(Xiaoshu(c)){</p><p> sum=sum*10+
68、Xiaoshu(c);</p><p><b> c=a[n++];</b></p><p> while(Xiaoshu(c)||c=='.'){</p><p> if(c=='.'){</p><p><b> c=a[n++];</b></p&g
69、t;<p> while(Xiaoshu(c)){</p><p><b> m*=10;</b></p><p> sum=sum*10+Xiaoshu(c);</p><p><b> c=a[n++];</b></p><p><b> }</b>
70、</p><p><b> }</b></p><p><b> else{</b></p><p> sum=sum*10+Xiaoshu(c);</p><p><b> c=a[n++];</b></p><p><b> }&
71、lt;/b></p><p><b> }</b></p><p> f=sum/(float)m;</p><p> Pushint(OPND,f);</p><p><b> sum=0;</b></p><p><b> m=1;</b&
72、gt;</p><p> } //不是運(yùn)算符就進(jìn)棧</p><p><b> else{</b></p><p> switch(Precede(GetTopchar(OPTR),c)){</p><p> case '<': { //棧頂元素優(yōu)先權(quán)低{&l
73、t;/p><p> Pushchar(OPTR,c);</p><p><b> c=a[n++];</b></p><p><b> break;</b></p><p><b> }</b></p><p> case '=':
74、 { //拖脫括號(hào)并接受下一個(gè)字符</p><p> Popchar(OPTR,x);</p><p><b> c=a[n++];</b></p><p><b> break;</b></p><p><b> }</b></p>&l
75、t;p> case '>':{ //退棧并將運(yùn)算結(jié)果進(jìn)棧</p><p> Popchar(OPTR,theta);</p><p> Popint(OPND,b);</p><p> Popint(OPND,aa);</p><p> Pushint(OPND,Operate(aa,th
76、eta,b));</p><p><b> break;</b></p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p><b> }&l
77、t;/b></p><p> m_result=GetTopint(OPND);</p><p> UpdateData(FALSE);</p><p><b> }</b></p><p><b> else</b></p><p> MessageBox(
78、"輸入錯(cuò)誤!");</p><p><b> }</b></p><p><b> 調(diào)試與運(yùn)行</b></p><p> (1)系統(tǒng)界面如圖2所示。</p><p><b> 圖2 主界面</b></p><p> ?。?)加
79、法測(cè)試,輸入正確,輸出正確,測(cè)試正確,如圖3所示。</p><p><b> 圖3 加法測(cè)試</b></p><p> ?。?)減法測(cè)試,輸入正確,輸出正確,測(cè)試正確,如圖4所示。</p><p><b> 圖4 減法測(cè)試</b></p><p> ?。?)乘法測(cè)試,輸入正確,輸出正確,測(cè)試正確
80、,如圖5所示。</p><p><b> 圖5 乘法測(cè)試</b></p><p> ?。?)除法測(cè)試,輸入正確,輸出正確,測(cè)試正確,如圖6所示。</p><p><b> 圖6 除法測(cè)試</b></p><p> ?。?)輸入表達(dá)式正確,輸出正確,測(cè)試正確,如圖7所示。</p>&
81、lt;p><b> 圖7 表達(dá)式測(cè)試</b></p><p> ?。?)輸入表達(dá)式錯(cuò)誤,能正確判斷,測(cè)試正確,如圖8所示。</p><p> 圖8 錯(cuò)誤表達(dá)式測(cè)試</p><p><b> 總結(jié)</b></p><p> 通過(guò)這段時(shí)間的課程設(shè)計(jì),我對(duì)計(jì)算機(jī)的應(yīng)用、數(shù)據(jù)結(jié)構(gòu)的作用以及C語(yǔ)
82、言的使用都有了更深的了解。當(dāng)然也遇到不少問(wèn)題,也正是國(guó)為這些問(wèn)題引發(fā)的思考給我?guī)?lái)了收獲。從當(dāng)初不喜歡上機(jī)寫(xiě)程序到現(xiàn)在能主動(dòng)寫(xiě)程序,從當(dāng)初拿著程序不知從何下手到現(xiàn)在知道如何分析問(wèn)題,如何用專業(yè)知識(shí)解決實(shí)際問(wèn)題的轉(zhuǎn)變。我發(fā)現(xiàn)無(wú)論是專業(yè)知識(shí)還是動(dòng)手能力,自己都有很大程度的提高。在實(shí)際上機(jī)操作過(guò)程中,不僅是讓我們了解數(shù)據(jù)結(jié)構(gòu)的理論知識(shí),更重要的是培養(yǎng)解決實(shí)際問(wèn)題的能力,為后續(xù)課程的學(xué)習(xí)及實(shí)踐打下良好的基礎(chǔ)。</p><p&
83、gt; 這次課程設(shè)計(jì)讓我更加了解大一學(xué)到的C語(yǔ)言和這個(gè)學(xué)期學(xué)到的數(shù)據(jù)結(jié)構(gòu)的緊密聯(lián)系,而且還鞏固了先前學(xué)的MFC程序設(shè)計(jì)知識(shí),對(duì)圖形界面有了更深的了解,也培養(yǎng)了我的動(dòng)手能力,更令我的創(chuàng)造性思維得到拓展。不僅要求設(shè)計(jì)者對(duì)課本知識(shí)有較深刻的了解,同時(shí)要有較強(qiáng)的思維動(dòng)手能力。 </p><p> 這次的課程設(shè)計(jì)讓我有一個(gè)深刻的體會(huì):嚴(yán)謹(jǐn)!編程最需要的就是嚴(yán)謹(jǐn),往往檢查到的錯(cuò)誤是在某個(gè)括號(hào)、分號(hào)、引號(hào)等不應(yīng)該
84、犯錯(cuò)的地方上。程序設(shè)計(jì)時(shí)難免遇到錯(cuò)誤,但這不是壞事情,它可以讓我發(fā)現(xiàn)自己的薄弱環(huán)節(jié),在具體操作中還可以鞏固所學(xué)的C語(yǔ)言、MFC及數(shù)據(jù)結(jié)構(gòu),更加體會(huì)到了C語(yǔ)言的語(yǔ)句簡(jiǎn)潔、使用靈活、執(zhí)行效率高等特點(diǎn)。</p><p> 通過(guò)此次課程設(shè)計(jì),我懂得了實(shí)踐的重要性,要理論聯(lián)系實(shí)際,才能把自己所掌握的知識(shí)更好地運(yùn)用。并且切實(shí)地感受到同學(xué)之間的相互幫助,遇到自己實(shí)在弄不懂的地方,和同學(xué)討論一下,兩個(gè)人共同提高。</p&
85、gt;<p><b> 參考文獻(xiàn)</b></p><p> [1]何欽銘主編.C語(yǔ)言程序設(shè)計(jì)(第2版).北京:高等教育出版社,2008.</p><p> [2]譚浩強(qiáng)編著.C程序設(shè)計(jì)(第四版).北京:清華大學(xué)出版社,2008.</p><p> [3]嚴(yán)蔚敏,吳偉民編著.數(shù)據(jù)結(jié)構(gòu)(C語(yǔ)言版).北京:清華大學(xué)出版社,200
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)-表達(dá)式求值
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)---表達(dá)式求值
- 數(shù)據(jù)結(jié)構(gòu)(表達(dá)式求值)課程設(shè)計(jì)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)--表達(dá)式求值
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告-表達(dá)式求值
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告--表達(dá)式求值
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)--算術(shù)表達(dá)式求值
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)--表達(dá)式求值問(wèn)題
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)--算術(shù)表達(dá)式求值
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)--表達(dá)式求值問(wèn)題
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)---中綴算術(shù)表達(dá)式求值
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告---算術(shù)表達(dá)式求值系統(tǒng)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告-中綴算術(shù)表達(dá)式求值
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)帶括號(hào)的算術(shù)表達(dá)式求值
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告(二)表達(dá)式求值(計(jì)算器)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)(表達(dá)式計(jì)算)
- 算術(shù)表達(dá)式求值課程設(shè)計(jì)
- (鹽城工學(xué)院數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì))棧的應(yīng)用表達(dá)式求值
- 數(shù)據(jù)結(jié)構(gòu)實(shí)驗(yàn)報(bào)告(逆波蘭表達(dá)式求值)
- 算術(shù)表達(dá)式求值演示-課程設(shè)計(jì)報(bào)告
評(píng)論
0/150
提交評(píng)論