nyoj 467 表示式求值)

2021-07-31 06:32:12 字數 798 閱讀 6828

時間限制:

1000 ms  |  記憶體限制:

65535 kb

難度:3 描述

輸入第一行輸入乙個整數n,共有n組測試資料(n<10)。

每組測試資料只有一行,是乙個長度不超過1000的字串,表示這個表示式的中綴式,每個表示式都是以「=」結束。這個表示式裡只包含+-*/與小括號這幾種符號。其中小括號可以巢狀使用。資料保證輸入的運算元中不會出現負數。

資料保證除數不會為0

輸出每組都輸出該組中綴式相應的字尾式,要求相鄰的運算元操作符用空格隔開。

樣例輸入

2

1.000+2/4=

((1+2)*5+1)/4=

樣例輸出

1.000 2 4 / + =

1 2 + 5 * 1 + 4 / =

**資料結構

上傳者mix_math

#includeusing namespace std;

string a;

struct exp

}string trans(string a)

f.push(a[i++]);

}else

ret+=' ';}}

while(f.top()!='#')

ret+='=';c

return ret;

}}e;int main()

{ int num;

scanf("%d",&num);

while(num--)

{cin>>a;

cout<

nyoj(表示式求值)

描述 acm隊的mdd想做乙個計算器,但是,他要做的不僅僅是一計算乙個a b的計算器,他想實現隨便輸入乙個表示式都能求出它的值的計算器,現在請你幫助他來實現這個計算器吧。比如輸入 1 2 4 程式就輸出1.50 結果保留兩位小數 輸入 第一行輸入乙個整數n,共有n組測試資料 n 10 每組測試資料只...

NYOJ 表示式求值問題

時間限制 3000 ms 記憶體限制 65535 kb 難度 4描述 acm隊的mdd想做乙個計算器,但是,他要做的不僅僅是一計算乙個a b的計算器,他想實現隨便輸入乙個表示式都能求出它的值的計算器,現在請你幫助他來實現這個計算器吧。比如輸入 1 2 4 程式就輸出1.50 結果保留兩位小數 輸入第...

中綴式變字尾式 nyoj 467

時間限制 1000 ms 記憶體限制 65535 kb 難度 3 描述 輸入第一行輸入乙個整數n,共有n組測試資料 n 10 每組測試資料只有一行,是乙個長度不超過1000的字串,表示這個表示式的中綴式,每個表示式都是以 結束。這個表示式裡只包含 與小括號這幾種符號。其中小括號可以巢狀使用。資料保證...