NYOJ 467 中綴式變字尾式

2021-08-05 23:01:25 字數 996 閱讀 9471

時間限制:

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

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

queueq; //數字佇列;此數字也用來存放輸出順序

stacks; //操作符棧

char str[1010];

int oper(char ch)

}//輸出操作符優先順序

//以操作符為標準,每遇到乙個操作符,都要在佇列輸入乙個空格,

//則輸出時相鄰操作符或運算元之間有空格

int main()

else if(str[i] == ')')

' ');

s.pop();

}else

s.push(str[i]);

q.push(' ');

}} while(!s.empty())

while(!q.empty())

printf(" =\n");

} return 0;

}

NYOJ467中綴式變字尾式

輸入 第一行輸入乙個整數n,共有n組測試資料 n 10 每組測試資料只有一行,是乙個長度不超過1000的字串,表示這個表示式的中綴式,每個表示式都是以 結束。這個表示式裡只包含 與小括號這幾種符號。其中小括號可以巢狀使用。資料保證輸入的運算元中不會出現負數。資料保證除數不會為0 輸出每組都輸出該組中...

NYOJ467中綴式變字尾式

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

中綴式變字尾式 nyoj 467

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