時間限制:
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 / =
12 #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的字串,表示這個表示式的中綴式,每個表示式都是以 結束。這個表示式裡只包含 與小括號這幾種符號。其中小括號可以巢狀使用。資料保證...