簡單的表示式計算 c

2022-05-05 10:03:11 字數 796 閱讀 6982

1 #include2 #include3 #include

4 #include5 #include6 #include7

using

namespace

std;

89 map

char, int> priority;//

用map來儲存運算子的優先順序

1011

int compare(char a, char

b)19

20int cal(int a, int b, char

op)28

29int

calculator()

53//

cout<

//cout<

nums.push(number);

56 flag = true

;57 }elseelse

if(cmp==0)else

if(cmp==1)

80if(ch=='

-' && !flag) nums.push(0

);8182}

83}84 cin.get

();85

return

nums.top();86}

87int

main()

92return

0;}

這個程式沒有檢錯功能

輸入只能包含0-9,+,-,*,/,(,),#;

#只能出現在表示式尾部表示輸入結束

保證你的表示式語法正確

下面是一些例子

簡單表示式計算

給定乙個合法的表示式字串,其中只包含非負整數 加法 減法以及乘法符號 不會有括號 例如7 345 2 4 3 1,請寫程式計算該表示式的結果並輸出 輸入描述 輸入有多行,每行是乙個表示式,輸入以end作為結束 輸出描述 每行表示式的計算結果 輸入例子1 7 345 2 4 3 1 2 3 1 end...

表示式計算C

地點 大連理工大學軟體學院 表示式計算至少需要兩個棧 1 資料棧 2 運算子棧 中綴表示式定義 表示式 項 項 項 項 項 項 因子 因子 因子 因子 因子 因子 常數 表示式 常數 數字 數字 數字 數字 0 1 2 3 4 5 6 7 8 9 中綴表示式計算通常按照我們習慣的先乘除後加減,有括號...

C 數學表示式計算

c 計算 數學表示式 標量的值 搞個字典 string double 更具 操作符號 分割字串 更具 優先順序把資料 push stack 再每次 分別 pop 2個資料,和 乙個操作符,一直到全部結束 效果下圖如圖 部分核心 如下 空 stack 返回 true 空 stack 返回 true p...