NYOJ467中綴式變字尾式

2021-09-06 06:54:42 字數 1534 閱讀 7834

時間限制:

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 / =

1

2 #include 3 #include 4 #include 5 #include 6 #include 7

using

namespace

std;

8char str[1005];9

char pp[7]=;

10bool cmp(char a,char

b)11

,//棧頂和新輸入的比較

15 ,

16 ,

17 ,

18 ,

19

20};

21for(int i=0;i<6;i++)

2226

if(ch[a][b]=='

>

'||ch[a][b]=='

=')return

true;27

return

false;28

}29intmain()

30

52else

if(str[i]=='('

)53s.push(str[i]);

54else

if(str[i]=='

+'||str[i]=='

-'||str[i]=='

*'||str[i]=='/'

)5562s.push(str[i]); 63}

64else

if(str[i]==')'

)6571 s.pop();//

去掉左括號 72}

73}74while(!s.empty()&&s.size()!=1)75

79 printf("

=\n"

); 80

//system("pause"); 81}

82return0;

83}84

NYOJ467中綴式變字尾式

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

NYOJ 467 中綴式變字尾式

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

中綴式變字尾式 nyoj 467

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