C 四則運算器

2021-10-02 21:04:33 字數 823 閱讀 5567

leetcode上的題,只有+-*/,空格,計算所給表示式的數值

我現在用的辦法是:中綴表示式轉字尾表示式,然後計算

但是leetcode最後乙個示例是長度為20w的表示式,直接給我弄超時了,先把**放在這裡吧

//計算器

#include #include #include #includeusing namespace std;

class solution

return false;

}void trim(string &s)}}

int gettokvalinner(const string &s)

int gettokvaloutter(const string &s)

int calculate(string &s)

//如果是符號,判斷優先順序

if (tok.empty())

else

else

}} //優先順序不滿足,正常入棧

tok.push_back(a);}}

while (!tok.empty())

//cout << "逆序表示式:" << endl;

/* for (auto it : result)

coutfor (auto it : result)

case '-':

case '*':

case '/':

}//cout

}else

}return num.front();

}};int main()

分數四則運算器

好的,先弄出個類來,如下 view code 1 class fraction2 各成員實現如下 view code 1 建構函式 2fraction fraction intx,inty 310 denominator y 11 1213 fraction fraction 1417 加法 18c...

C 實現四則運算器 帶括號

基本分析可以看另一篇文章c 實現四則運算器 無括號 棧的實現 ifndef stack h define stack h includeclass stack int stack int unsigned int capacity bottom new int capacity 1 top bott...

C 實現四則運算器 無括號

完成度更高的有括號版本c 實現四則運算器 有括號 對於無括號的計算器,實現起來比較容易,下面讓我們一步步實現。舉例首先明確需要實現怎樣的程式,對於無括號的計算器,大概做成這樣就可以了 52 34 3 4 2 分析 對於例子中的表示式,由於乘除運算的優先順序高於加減運算,我們不能直接從左到右進行。但四...