題目如下:
輸入僅有一行,為需要你計算的表示式,表示式中只包含數字、加法運算子「+」和乘法運算子「*」,且沒有括號,所有參與運算的數字均為 0 到 2 ^ 31 -1 之間的整數。輸入資料保證這一行只有 0~ 9、+、*這 12 種字元。
輸出格式:
輸出只有一行,包含乙個整數,表示這個表示式的值。注意:當答案長度多於 4 位時,請只輸出最後 4 位,前導 0 不輸出。
來自大佬的乙份**。
很好的地方是,讀取一整串**的時候,將其分開比較。結果只輸出最後四位,對10000取模。
認真學習~
**如下:
#include
#include
#include
using namespace std;
const int mod = 10000;
int main()
while(ch == '*')
a = (a * b) % mod;
}sum = (sum + a) % mod;
}printf("%d", sum % mod);//結果直保留最後的四位
return 0;
}
簡單表示式求值
char evaluateexpression else c getchar gettop optr,e else gettop opnd,e return e 核心演算法如圖所示,基本思想是利用棧的基本性質和操作 數棧和算符棧兩棧分開 結合算符優先順序順序的二維陣列定義,完成基本算數表示式的核心演...
簡單算術表示式求值
題目 利用cin,getline將輸入分成前半部分和後半部分,便於操作 例如 32 3 分成數字部分 32字串部分 3 include using namespace std intmain re num n break else if s i re n num break else if s i ...
簡單算術表示式求值
兩位正整數的簡單算術運算 只考慮整數運算 算術運算為 加法運算 減法運算 乘法運算 整除運算 取餘運算。算術表示式的格式為 運算子前後可能有空格 運算數 運算子 運算數請輸出相應的結果。一行算術表示式。整型算數運算的結果 結果值不一定為2位數,可能多於2位或少於2位 32 64 96 include...