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

正文內容

北理工數(shù)據結構實驗報告(已修改)

2025-08-15 02:12 本頁面
 

【正文】 專業(yè)資料整理分享 《數(shù)據結構與算法設計》實驗報告——實驗二學院:自動化學院班級:____學號:__姓名:_____一、實驗目的 熟悉VC環(huán)境,學習使用C語言實現(xiàn)棧的存儲結構。通過編程、上機調試,進一步理解棧的基本概念。鍛煉動手編程,獨立思考的能力。二、實驗內容 實現(xiàn)簡單計算器的功能,請按照四則運算加、減、乘、除、冪(^)和括號的優(yōu)先關系和慣例,編寫計算器程序。要求支持運算符:+、*、/、%、()和=:① 從鍵盤輸入一個完整的表達式,以回車作為表達式輸入結束的標志;② 輸入表達式中的數(shù)值均為大于等于零的整數(shù),如果中間計算過程中出現(xiàn)小數(shù)也只取整進行計算。例如,輸入:4+2*5= 輸出:14 輸入:(4+2)*(210)= 輸出:48三、程序設計 概要設計為實現(xiàn)上述程序功能,應使用兩個棧,分別寄存操作數(shù)與運算符。為此,需要棧的抽象數(shù)據結構。(1)、棧的抽象數(shù)據類型定義為:ADT Stack{數(shù)據對象:D=數(shù)據關系:R1= 約定端為棧頂,端為棧底?;静僮鳎篒nitStack(amp。S)操作結果:創(chuàng)建一個空棧S。GetTop(S,amp。e)初始條件:棧S已存在且非空。操作結果:用e返回S的棧頂元素。Push(amp。S,e)初始條件:棧S已存在。操作結果:插入元素e為新的棧頂元素。Pop(amp。S,amp。e)初始條件:棧S已存在且非空。操作結果:刪除S的棧頂元素,并用e返回其值。In(m,a[])操作結果:若m是運算符,返回TRUE。Precede(m, n)初始條件:m,n為運算符。操作結果:若m優(yōu)先級大于n,返回,反之亦然。Operation(a, theta,b) 初始條件:a,b為整數(shù),theta為運算符。 操作結果:返回a與b運算的結果。EvaluateExpression(p[]) 初始條件:輸入合法的表達式。 操作結果:返回表達式的值。}ADT Stack(2)、宏定義define STACK_INIT_SIZE 100define STACKINCREMENT 10define OVERFLOW 2define OK 1define ERROR 0define TRUE 1define FALSE 0(3)、主程序流程首先定義char型數(shù)組,將輸入的表達式存入。隨后調用EvaluateExpression(expression)函數(shù)計算結果,最后輸出在屏幕上。(4)、模塊調用關系:由主函數(shù)模塊調用輸入模塊與求值模塊。求值模塊調用表達式轉化模塊與表達式求職模塊,計算并返回表達式的值。最后主程序調用輸出模塊輸出結果。(5)、流程圖開始輸入表達式char c=表達式首字符c!=39。=39。||GetTop1(OPTR)!=39。=39。!In(c,OP)c存入數(shù)組。c=*(++ex)。In(c,OP)數(shù)組中的數(shù)壓入棧內。指針指向數(shù)組首元素case 39。39。:符號進棧 c=*(++ex)。case 39。=39。:符號出棧c=*(++ex)。case 39。39。:操作數(shù)棧前2個數(shù)運算return GetTop2(OPND)輸出result結束 詳細設計(1)、數(shù)據類型設計typedef struct{ char *base。 char *top。 int stacksize。}SqStack1。 //定義運算符棧數(shù)據類型typedef struct{ int *base。 int *top。 int stacksize。}SqStack2。 //定義操作數(shù)棧數(shù)據類型SqStack1 OPTR。 //聲明運算符棧SqStack2 OPND。 //聲明操作數(shù)棧(2)、操作算法設計Status InitStack1(SqStack1 amp。S){ //構造運算符棧 =(char *)malloc(STACK_INIT
點擊復制文檔內容
教學教案相關推薦
文庫吧 www.dybbs8.com
公安備案圖鄂ICP備17016276號-1