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