軟件技術(shù)基礎(chǔ)-實(shí)驗(yàn)報(bào)告_第1頁(yè)
軟件技術(shù)基礎(chǔ)-實(shí)驗(yàn)報(bào)告_第2頁(yè)
軟件技術(shù)基礎(chǔ)-實(shí)驗(yàn)報(bào)告_第3頁(yè)
軟件技術(shù)基礎(chǔ)-實(shí)驗(yàn)報(bào)告_第4頁(yè)
軟件技術(shù)基礎(chǔ)-實(shí)驗(yàn)報(bào)告_第5頁(yè)
已閱讀5頁(yè),還剩5頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、軟件技術(shù)基礎(chǔ)實(shí)驗(yàn)報(bào)告學(xué)院(系):專業(yè):班級(jí):學(xué)號(hào):學(xué)生姓名:2014 年 4 月 15 h實(shí)驗(yàn)?zāi)康睦脳_M(jìn)行四則運(yùn)算表達(dá)式的計(jì)算。dp a+b*c-d/e二、實(shí)驗(yàn)內(nèi)容基本思路;1、用數(shù)組來(lái)定義一個(gè)運(yùn)算數(shù)的堆棧2、運(yùn)算數(shù)入棧函數(shù)3、運(yùn)算數(shù)出棧函數(shù)4、運(yùn)算數(shù)進(jìn)行四則運(yùn)算分析:1、定義的變量均為int型,所以只能進(jìn)行整數(shù)間的四則運(yùn)算。如果結(jié)果應(yīng)該冇小數(shù)部分,因?yàn)檩攲绲慕Y(jié)果必須是整數(shù),所以小數(shù)部分會(huì)被自動(dòng)省略。2、沒(méi)冇單獨(dú)為操作符定義棧,所以操作符是固定的,只能進(jìn)行如:a+b*c-d/e的運(yùn)算。三、算法原理v貝體的算法說(shuō)明:1、用數(shù)組來(lái)定義棧,并且定義棧的大小及指針。2、定義push為運(yùn)算數(shù)的入棧操作

2、;當(dāng)top指針小于max時(shí),指針上移,否則輸出 棧已滿。3、定義pop為運(yùn)算數(shù)的出棧操作;當(dāng)指針不為空時(shí),指針下移,否則輸出棧為空。4、main函數(shù)中,實(shí)現(xiàn)變量的定義,運(yùn)算數(shù)的輸入,以及運(yùn)算數(shù)的入棧和出棧,最 后進(jìn)行運(yùn)算數(shù)的四則運(yùn)算,輸出最后的結(jié)果。四、軟件設(shè)計(jì)用數(shù)組定義棧及定義棧的大小define max 100 /*定義堆棧大小*/int stack max ; /*用維數(shù)組定義堆棧*/int top=0; /*定義堆棧指示*/運(yùn)算數(shù)的入棧操作int push(int i) /*存儲(chǔ)運(yùn)算數(shù),入棧操作*/if (top<max)/*堆棧不滿時(shí)*/stack+top=i; /*堆棧仍有空

3、間棧頂指示上移位置*/return 0;elseprintf(,zthc stack is full"); /*輸出堆棧已滿*/rcturn 0;/*運(yùn)算數(shù)的出棧操作*/int pop() /*取出運(yùn)算數(shù)出棧操作*/int var; /*定義待返回棧頂元素*/if(top!=null) /*堆棧仍有元素*/var=stacktop ; /*堆棧指示下移位置*/return var; /*返回棧頂元素*/elseprintf (,zthe stack is empty!n,z) ;/*輸出這是空棧*/rcturn 0;主函數(shù)void main() /*主函數(shù)*/int p, k, n,

4、 h;/*定義int型和字符型變量*/char 1;int a, b, c, d, e;int a, b, c, d, e;printf (mathmatic oprction: n,z) ; /*給出提示信息 運(yùn)算*/printf (z,please input the first number:z,) ; /*輸入第一個(gè)運(yùn)算數(shù)*/ scanf (d,&a);push (a); /*第一個(gè)運(yùn)算數(shù)入棧*/printf (z/please input the second number/') ; /*輸入第二運(yùn)算數(shù)*/ scanf ("%d", &b)

5、;push(b) ; /*第二運(yùn)算數(shù)入棧*/printf(''please input the third number:");/*輸入第三個(gè)運(yùn)算數(shù)*/ scanf (d,&c);push(c) ;/*第三個(gè)運(yùn)算數(shù)入棧*/printf (,zplcasc input the fourth number:z,) ;/*輸入第四個(gè)運(yùn)算數(shù)*/ scanf ("%d", &d);push(d) ;/*第四個(gè)運(yùn)算數(shù)入棧*/printf(''please input the fifth number:");/*輸入第五

6、個(gè)運(yùn)算數(shù)*/ scanf (d,&c);push(c) ;/*第五個(gè)運(yùn)算數(shù)入棧*/e=pop ();d=pop ();c=pop () ;/*運(yùn)算數(shù)出棧*/b=pop ();a=pop ();k 二 b*c;h=d/e;n=a+k-h;/*計(jì)算多項(xiàng)式*/printf (,zthe result is %d+%d*%d-%d/%d=%dnz,, a, b, c, d, e, n) ;/*輸出結(jié)果*/五、實(shí)驗(yàn)結(jié)果結(jié)果運(yùn)行正常。驗(yàn)證6+23*12-10/2二277el"c:userslenovodesktopdebug22.exe”bathmatic opretion:please

7、pleaseplease please pleasethe result is 6 +23*12-10/2 =277dpress any key to continueinput input input input inputthe the the the thefirst nunbep:6 second number:23 third nunbep:12 fourth number:10 fifth nunbep:2微軟拼音簡(jiǎn)捷半:驗(yàn)證:2+3*4-5/5=13"c:userslenovodesktopdebug22.exe"rathnatic opretion:plea

8、seplease please please please the result is 2+3*4-5/5=13press any key to continueinpu t inpu t inpu t inpu t inpu tthe the the the thef irst number:2 second number:3 t hird number:4 foiwth number:5 f ifth number:5儼軟拼音簡(jiǎn)捷半驗(yàn)證 5+6*7-3/7=47六、實(shí)驗(yàn)分析與心得有了笫一個(gè)編程的練手,對(duì)c語(yǔ)言相對(duì)熟悉了好多,這次的程序相對(duì)第一個(gè)程序來(lái)說(shuō):用的時(shí)間 更短,更多的是口己獨(dú)立的思

9、考,借鑒的其他書籍也少了很多。當(dāng)一個(gè)程序運(yùn)行出來(lái)后,真的是非常 高興的,我享受程序運(yùn)行出來(lái)后的喜悅,享受自己獨(dú)立思考的過(guò)程。當(dāng)然了,今后我還是會(huì)花很多時(shí) 間學(xué)習(xí)c語(yǔ)言的。七、附程序源代碼#include<stdio. h>#include<conio. h>#include<stdlib. h>define max 100 /*定義堆棧大小*/int stack max ; /*用維數(shù)組定義堆棧*/int top=0; /*定義堆棧指針*/int push(int i) /*存儲(chǔ)運(yùn)算數(shù),入棧操作*/ if (top<max)/*當(dāng)指針的指向小于堆棧最大

10、值時(shí)*/ stack+top二i; /*堆棧仍有空間棧頂指示上移位置*/ return 0;/*返冋 0*/else printf(,zthe stack is full"); /*輸出堆棧已滿*/return 0;/*返回 0*/*數(shù)字的出棧操作*/int pop() /*取出運(yùn)算數(shù)出棧操作*/int var; /*定義待返回棧頂元素*/if(top!=null) /*堆棧仍有元素*/var=stacktop ; /*堆棧指示下移位置*/return var; /*返回棧頂元素*/elseprintf (,zthe stack is empty!n,z) ;/*輸出這是空棧*/rc

11、turn 0;void main() /*主函數(shù)*/int p, k, n, h;/*定義int型和字符型變量*/char 1;int a, b, c, d, c;int a, b, c, d, e;printf (z,mathmatic oprction: nz,) ; /*給出提示信息 運(yùn)算*/printf (z/please input the first number:z,) ; /*輸入第一個(gè)運(yùn)算數(shù)*/ scanf ("%d", &a);push (a) ; /*第一個(gè)運(yùn)算數(shù)入棧*/printf(''please input the sec

12、ond number:"); /*輸入第二運(yùn)算數(shù)*/ scanf (d,&b);push(b) ; /*第二運(yùn)算數(shù)入棧*/printf(,zplcasc input the third number:");/*輸入第三個(gè)運(yùn)算數(shù)*/ scanf ("%d", &c);push(c) ;/*第三個(gè)運(yùn)算數(shù)入棧*/printf(''please input the fourth number:");/*輸入第四個(gè)運(yùn)算數(shù)*/ scanf (d,&d);push(d) ;/*第四個(gè)運(yùn)算數(shù)入棧*/ printf(,zplcasc input the fifth number:");/*輸入第五個(gè)運(yùn)算數(shù)*/ scanf ("%d", &c);push(e) ;/*第五個(gè)運(yùn)算數(shù)入棧*

溫馨提示

  • 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ù)網(wǎng)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論