總時間限制:
200ms
記憶體限制:
1024kb
描述 人們熟悉的四則運算表示式稱為中綴表示式,例如(23+34*45/(5+6+7))。在程式語言中,可以利用堆疊的方法把中綴表示式轉換成保值的字尾表示式(又稱逆波蘭表示法),並最終變為計算機可以直接執行的指令,得到表示式的值。
給定乙個中綴表示式,編寫程式,利用堆疊的方法,計算表示式的值。
輸入第一行為測試資料的組數n
接下來的n行,每行是乙個中綴表示式。表示式中只含數字、四則運算符和圓括號,運算元都是正整數,數和運算子、括號之間沒有空格。中綴表示式的字串長度不超過600。
輸出對每一組測試資料輸出一行,為表示式的值
樣例輸入
33+5*8
(3+5)*8
(23+34*45/(5+6+7))
樣例輸出
4364108
提示注意:運算過程均為整數運算(除法運算'/'即按照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是棧內優先數,...