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

正文內(nèi)容

c語言課程設(shè)計--輸入一個表達(dá)式,輸出其結(jié)果(已修改)

2025-01-24 04:38 本頁面
 

【正文】 課 程 設(shè) 計 報 告 課程名稱 C語言程序設(shè)計 課題名稱 輸入一個表達(dá)式,輸出其結(jié)果 專 業(yè) 通信工程 班 級 通信 1101 學(xué) 號 27 姓 名 皮鋒 指導(dǎo)教師 羅雅博 彭禎 曹燚 2022年 6月 29 日 湖南工程學(xué)院 課 程 設(shè) 計 任 務(wù) 書 課程名稱 C語言程序設(shè)計 課 題 輸入一個表達(dá)式,輸出其結(jié)果 專業(yè)班級 通信 1101 學(xué)生姓名 皮鋒 學(xué) 號 27 指導(dǎo)老師 羅雅博 彭禎 曹燚 審 批 任務(wù)書下達(dá)日期 2022 年 6 月 15 日 任務(wù)完成日期 2022 年 6 月 29日 一、設(shè)計思想 兩種算法首先都要建立兩個棧,一個是存放操作數(shù)的數(shù)棧 OdStack,一個是存放運(yùn)算符的符棧 OpStack。數(shù)棧采用 double 型的用來存放浮點(diǎn)數(shù),符棧采用 char 型的用來存放運(yùn)算符,由于考慮到運(yùn)算符有優(yōu)先級的問題,所以事先做了一個 Type用來存儲運(yùn)算符的優(yōu)先級。棧建立好了之后做棧的相關(guān)操作,初始化棧,入棧,出棧,看棧頂。其中入棧要判滿,出棧和看棧頂要判空。 中綴轉(zhuǎn)后 綴再計算的算法。 此算法的基本思路是先將中綴表達(dá)式轉(zhuǎn)換成后綴表達(dá)式,之后再利用后綴表達(dá)式的算法對表達(dá)式進(jìn)行計算。 首先,用一個 char 數(shù)組將中綴表達(dá)式讀入,對數(shù)組中的每一個元素進(jìn)行處理,區(qū)分哪些是數(shù),哪些是運(yùn)算符。如果是數(shù)元素(或小數(shù)點(diǎn)元素),則依次存入用來存儲后綴表達(dá)式的 char數(shù)組,直到一個整合數(shù)存完之后用空格將其與后面的元素分開。如果是運(yùn)算符元素,則根據(jù)當(dāng)前運(yùn)算符的優(yōu)先級和棧里面的運(yùn)算符的優(yōu)先級進(jìn)行處理。如果棧內(nèi)元素的優(yōu)先級小于當(dāng)前元素的優(yōu)先級或者棧內(nèi)為空,則將當(dāng)前運(yùn)算符入棧;如果棧內(nèi)元素的優(yōu)先級大于 等于當(dāng)前元素的,則依次將出棧元素存入后綴表達(dá)式,并用空格將其與后面的元素分開,直到棧內(nèi)元素的優(yōu)先級小或者棧內(nèi)為空。對于左括號來說,無條件進(jìn)棧,并只在有右括號出現(xiàn)的時候才有可能出棧。對于右括號來說,無條件讓棧內(nèi)元素出棧,直到左括號出棧。依次將每個元素進(jìn)行處理直到中綴表達(dá)式索引完畢。至此,已經(jīng)實現(xiàn)了將中綴表達(dá)式轉(zhuǎn)換成了后綴表達(dá)式,在數(shù)組的最后加上結(jié)束符以便下一步的調(diào)用。 第二步,讀出后綴表達(dá)式并進(jìn)行計算。如果索引到空格則將索引標(biāo)志后推 1位。之后要先對 char 型的數(shù)字元素進(jìn)行整合,從后綴表達(dá)式中依次取出數(shù)字元素( 連同小數(shù)點(diǎn))存入一個新的 char型數(shù)組,直到一整個數(shù)取完后通過 atof函數(shù)將 char型轉(zhuǎn)換成浮點(diǎn)型存入數(shù)棧,并將新數(shù)組初始化用來存儲下一個數(shù)。如果是索引到運(yùn)算符,則在數(shù)棧中出棧兩個數(shù)字與當(dāng)前運(yùn)算符進(jìn)行運(yùn)算,先出棧的數(shù)字放在運(yùn)算符后面,后出棧的數(shù)字放在運(yùn)算符的前面,將運(yùn)算以后的結(jié)果再次存入數(shù)棧。依次進(jìn)行計算直到后綴表達(dá)式索引完畢。此時對棧內(nèi)剩余元素進(jìn)行操作。每在符棧出棧一個運(yùn)算符,就從數(shù)棧出棧兩個數(shù)進(jìn)行計算,算法同上,將運(yùn)算以后的結(jié)果再次存入數(shù)棧。循環(huán)操作直到符棧棧空,此時數(shù)棧出棧元素即為最后結(jié)果。 二、算法流程圖 中綴轉(zhuǎn)后綴再計算的算法分兩個流程,第一步是中綴表達(dá)式轉(zhuǎn)換成后綴表達(dá)式; 圖 1 中綴轉(zhuǎn)后綴算法流程圖 第二步是將后綴表達(dá)式進(jìn)行計算輸出。 三. 調(diào)試分析過程描述 ,設(shè)計的程序每運(yùn)行一次只能進(jìn)行一次計算 : int main() { printf( ******歡迎進(jìn)入小型計算器 ******\n請輸入算術(shù)表達(dá) 式 :)。 char str[N]。 double result。 scanf(%s,str)。 result=Calu(str)。 printf(輸出計算結(jié)果 : %f\n,result)。 } 為了改進(jìn)程序,我在主函數(shù)里加了一個循環(huán): int main() { int a。 printf( ******歡迎進(jìn)入小型計算器 ******\n 請輸入算術(shù)表達(dá) 式 :)。 for(a=0。a++) { c
點(diǎn)擊復(fù)制文檔內(nèi)容
試題試卷相關(guān)推薦
文庫吧 www.dybbs8.com
公安備案圖鄂ICP備17016276號-1