牛客簡單模擬 奇怪的計算器

2021-10-12 07:04:14 字數 1448 閱讀 5705

奇怪的計算器題目鏈結

題目描述

牛牛家裡有乙個計算器。

牛牛不小心把自己的計算器玩壞了。乘法(×)和除法(÷)按鈕全都失靈。

所以,牛牛決定以後用它來計算只含加(+)和減(-)的表示式。

最近,牛牛突然發現,這個計算器的冪(^)按鈕變成了異或鍵!本來 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行,每一行是乙個計算器...