奇怪的計算器題目鏈結
題目描述
牛牛家裡有乙個計算器。
牛牛不小心把自己的計算器玩壞了。乘法(×)和除法(÷)按鈕全都失靈。
所以,牛牛決定以後用它來計算只含加(+)和減(-)的表示式。
最近,牛牛突然發現,這個計算器的冪(^)按鈕變成了異或鍵!本來 5^2=25 的,現在 5^2=7 了。
因此他想知道,輸入乙個表示式後計算器會返回多少。
該計算器認為優先順序異或(^)>加(+),減(-)。
輸入描述
輸入一串表示式,保證該字串只含數字,+,-,^,且每個數字 <= 1000000
輸出描述
輸出答案。
輸入樣例
3+5
^2-9
輸出樣例
1
令 siz
esize
size
表示表示式長度,保證表示式合法且 符號個數 + 1 = 數的個數 。對於所有的資料 1≤s
ize≤
10
61≤size≤10^6
1≤size
≤106
。先把字串轉換,首先符號如果是 +
++ 或者 −
-− 則存入棧中,然後把對應的數字字元轉換數字,如果查詢過程中遇到符號是 ^,則彈出乙個數,然後緊接著計算下乙個數,兩個數異或一下存入棧中,然後把字元棧和數字棧中的元素彈出存入新的容器,最後按照順序加或者減按照順序求結果。
#include
using
namespace std;
typedef
long
long ll;
stacknum,ans;
stack<
char
>fu,res;
intmain()
if(ok) num.
push
(t);
if(ok && s[i]
!='^'
) i--;if
(s[i]
=='^'
) ll temp = x^t;
num.
push
(temp);}
}}while
(!fu.
empty()
)while
(!num.
empty()
)while
(res.
size()
>0)
cout
)<<
'\n'
;return0;
}
牛客網 簡單計算器
題目描述 讀入乙個只包含 的非負整數計算表示式,計算該表示式的值。輸入描述 測試輸入包含若干測試用例,每個測試用例佔一行,每行不超過200個字元,整數和運算子之間用乙個空格分隔。沒有非法表示式。當一行中只有0時輸入結束,相應的結果不要輸出。輸出描述 對每個測試用例輸出1行,即該表示式的值,精確到小數...
簡單計算器模擬
雖然打個簡單計算器不算難事,但是模擬始終算一關,不能忽視基礎。本程式不適用以下情況 表示式中帶空格 表示式中帶括號 僅能進行四則運算,結果限制在int型 include using namespace std intlevel char x intcalculate string s if q1.e...
奇怪的計算器
奇怪的計算器 計科專業的小明最近得到乙個任務,去修理一台奇怪的計算器,這個計算器輸出的結果是顛倒的,比如123它輸出321,遇到小數點的時候,整數和小數部分分別是顛倒的,比如123.456顯示成321.654,請編寫乙個程式,將輸出的結果修正。輸入首先輸入乙個整數n,然後輸入n行,每一行是乙個計算器...