特定條件下的逆波蘭式求值

2021-10-24 15:36:20 字數 1284 閱讀 2480

輸入乙個逆波蘭式字串,只含有0-9組成的運算數,「+」,「-」,「*」,「/」 四種運算子,兩個運算數之間存在空格,不需要考慮分母為0以及不整除的情況,輸入以「#」結束。

input

11 2 3 + 4 *-#

output

-9

explanation

11-(2+3)*4 = -9

解題思路及演算法核心部分解讀

#include

#include

#include

//#include

//#include

//#include

//using

namespace std;

char last =

'#';

intmain()

stack<

long

long

> stk;

long

long m, n;

for(

long

long i=

0; i)else}}

cout << stk.

top(

)<< endl;

return0;

}

在字元轉數字方面:

1.以string型別整體輸入;

string s[

256];//

while

(cin >> s[cnt++

])

2.根據每個字串的末尾字元是否是數字來判斷是運算數還是運算子;

if

(s[i]

[sz-1]

<=

'9'&& s[i]

[sz-1]

>=

'0')

3.stringstream型別的使用:先把string型別的s[i]轉為ss,然後再從ss轉為int型別的m

(注意該處用到頭檔案

stringstream ss;

//ss << s[i]

;ss >> m;

特定條件下傅利葉變換的性質

下面討論的是對序列做變換 通常,要了解乙個序列傅利葉變換的特性需要有關 幅度和相位 或者 實部和虛部 在 pi 條件性質 x n 是實序列 x e j x e j x e x e x ej x e j 看0到 pi 的譜就行了 最小相位 所有極點和零點都在單位圓外 幅度和相位相關聯 有限長為n的序列...

特定條件下傅利葉變換的性質

下面討論的是對序列 這裡討論的一般是實序列 做變換 sum x n e 通常,要了解乙個序列傅利葉變換的特性需要有關 幅度和相位 或者 實部和虛部 在 pi 條件性質 x n 是實序列 x e x e 看0到 pi 的譜就行了 最小相位 所有極點和零點都在單位圓外 幅度和相位相關聯 有限長為n的序列...

strcat在某種特定條件下的優化

strcat 是c語言乙個基本的字串操作函式,它的源 一般是這樣的。由此可見,strcat呼叫時,先移動目標字串的指標到其尾部,再進行複製。這種做法對於下標比較大的陣列重複呼叫時,效率比較低。想象一下,第一次呼叫strcat時,指標由0數到100,只不過複製了幾個字元,第二次呼叫strcat時,指標...