4 中綴表示式的值

2021-06-20 09:54:00 字數 1021 閱讀 1062

總時間限制: 

200ms 

記憶體限制: 

1024kb

描述 人們熟悉的四則運算表示式稱為中綴表示式,例如(23+34*45/(5+6+7))。在程式語言中,可以利用堆疊的方法把中綴表示式轉換成保值的字尾表示式(又稱逆波蘭表示法),並最終變為計算機可以直接執行的指令,得到表示式的值。

給定乙個中綴表示式,編寫程式,利用堆疊的方法,計算表示式的值。

輸入第一行為測試資料的組數n

接下來的n行,每行是乙個中綴表示式。表示式中只含數字、四則運算符和圓括號,運算元都是正整數,數和運算子、括號之間沒有空格。中綴表示式的字串長度不超過600。

輸出對每一組測試資料輸出一行,為表示式的值

樣例輸入

3

3+5*8

(3+5)*8

(23+34*45/(5+6+7))

樣例輸出

43

64108

提示注意:運算過程均為整數運算(除法運算'/'即按照c++定義的int除以int的結果,測試資料不會出現除數為0的情況),輸出結果也為整數(可能為負)。

中間計算結果可能為負。

100多行的**。未能過此題,始終覺得是個遺憾。。

第一次寫表示式求值

下面是錯誤**。求指正。。 

100多行不容易看。。。

#include#include#include#include#include#include#includeusing namespace std;

int main()

{ int n;

scanf("%d%*c",&n);

while(n--)

{char a[1001],b[1001];

gets(a);

stackhou;

stackji;

int i,h=0;

int len=strlen(a);

for(i=0; i

1003 中綴表示式轉字尾表示式

1003.中綴表示式轉字尾表示式 total 466accepted 89 time limit 1sec memory limit 256mb description 將中綴表示式 infix expression 轉換為字尾表示式 postfix expression 假設中綴表示式中的運算元均...

9 中綴表示式轉成字尾表示式

private static int add 1 private static int sub 1 private static int mul 2 private static int div 2 寫乙個方法,返回對應的優先順序數字 public static int getvalue strin...

SzNOI c003 中綴表示式轉字尾表示式

個人覺得我寫的應該是目前網上寫的版本比較簡單的了。這也是我開部落格的原因,盡量寫出簡單的 一方面可以鞏固自己,一方面也能方便別人 中綴表示式轉化為字尾表示式是通過棧實現 思路是,寫兩個函式,分別是算術操作符的優先順序,這個想法在資料結構 用物件導向方法與c 裡面這本書有大概提到 isp是棧內優先數,...