時間限制:
1000 ms | 記憶體限制:
65535 kb
難度:3 描述
輸入第一行輸入乙個整數n,共有n組測試資料(n<10)。
每組測試資料只有一行,是乙個長度不超過1000的字串,表示這個表示式的中綴式,每個表示式都是以「=」結束。這個表示式裡只包含+-*/與小括號這幾種符號。其中小括號可以巢狀使用。資料保證輸入的運算元中不會出現負數。
資料保證除數不會為0
輸出每組都輸出該組中綴式相應的字尾式,要求相鄰的運算元操作符用空格隔開。
樣例輸入
21.000+2/4=
((1+2)*5+1)/4=
樣例輸出
1.000 2 4 / + =1 2 + 5 * 1 + 4 / =
#include#include#include#include#include#include#includeusing namespace std;
//表示式求值
//中綴式轉字尾式
int judge(char c1,char c2)//傳入棧頂元素和當前元素
if(c1=='(')
if(c1=='+'||c1=='-')
if(c1=='*'||c1=='/')
return 2;//隨便返回的
}int main()
else if(str_1[i]!=' ')
if(judge(q.top(),str_1[i])==-1)
q.pop();
else if(judge(q.top(),str_1[i])==1)
q.push(str_1[i]);}}
}for(int i=0; i
中綴式變字尾式
時間限制 1000 ms 記憶體限制 65535 kb難度 3描述 輸入第一行輸入乙個整數n,共有n組測試資料 n 10 每組測試資料只有一行,是乙個長度不超過1000的字串,表示這個表示式的中綴式,每個表示式都是以 結束。這個表示式裡只包含 與小括號這幾種符號。其中小括號可以巢狀使用。資料保證輸入...
中綴式變字尾式
描述 輸入第一行輸入乙個整數n,共有n組測試資料 n 10 每組測試資料只有一行,是乙個長度不超過1000的字串,表示這個表示式的中綴式,每個表示式都是以 結束。這個表示式裡只包含 與小括號這幾種符號。其中小括號可以巢狀使用。資料保證輸入的運算元中不會出現負數。資料保證除數不會為0 輸出每組都輸出該...
中綴式變字尾式
時間限制 難度 3 描述 輸入 第一行輸入乙個整數n,共有n組測試資料 n 10 每組測試資料只有一行,是乙個長度不超過1000的字串,表示這個表示式的中綴式,每個表示式都是以 結束。這個表示式裡只包含 與小括號這幾種符號。其中小括號可以巢狀使用。資料保證輸入的運算元中不會出現負數。資料保證除數不會...