多位數運算表示式回顧

2021-10-01 22:01:31 字數 1675 閱讀 4220

package stack;

public

class

calculate2

else

if(ss.

isoper

(expression.

charat

(index +1)

))}else

else

if(ss.

priority

(ss.

top())

< ss.

priority

(ch)

)else

} index ++

; system.out.

println

("index:"

+ index)

;//注意index的位置每一次要用的原值的話,就放在最後

if(index ==

(expression.

length()

))}while

(true)}

system.out.

println

(expression +

" = "

+ ns.

pop())

;//掃瞄完畢之後在一次運算,數棧裡面最後的書就是結果}}

class

stack2

//棧基本的方法,是否為空,是否為滿,pop和push,以及show驗證

public

boolean

isempty()

public

boolean

isfull()

public

void

push

(int m)

top++

; stack[top]

= m;

}public

intpop()

int temp = stack[top]

; top--

;return temp;

}public

void

show()

}public

inttop()

//故而根據上情況要建立判斷優先順序的方法

public

intpriority

(int ch)

else

if(ch ==

'+'|| ch ==

'-')

else

}// 判斷是否為符號的方法,

public

boolean

isoper

(char ch)

// 運算的方法

public

intcal

(int num1,

int num2,

int ch)

else

if(ch ==

'/')

else

if(ch ==

'+')

else

if(ch ==

'-')

else

}}

空指標異常

多位數讀取失敗,讀取不了第二位

出現空棧的異常!

我居然不會debug!!!!!好像該犯的都犯了!!

C語言棧 多位數的表示式求和

include include include const char oper 7 define ok 1 define error 0 typedef char selemtype typedef int status typedef struct snode snode,linkstack do...

逆波蘭演算法(多位數運算)

問題描述 在計算機中,算術表示式由常量 變數 運算子和括號組成。由於不同的運算子具有不同的優先順序,又要考慮括號,因此,算術表示式的求值不可能嚴格地從左到右進行。因而在程式設計時,借助棧實現。任務要求 演算法輸入 乙個算術表示式,由常量 變數 運算子和括號組成 以字串形式輸入 為簡化,規定運算元只能...

Python 變數,運算表示式

變數 變數不需要先定義,可以直接複製使用 變數可重複儲存不同的資料型別 可同時為多個變數複製,用逗號隔開 a,b a b 不支援自增自減 變數引用計數 相同資料的賦值,會共享同一片空間位址,並非占用乙個新的位址單元,節約記憶體。使用sys模組下的getrefcount 函式檢視變數引用計數 impo...