利用棧的原理實現「加減乘除」的相關操作

2021-10-09 09:19:09 字數 1145 閱讀 8942

#include

#include

#include

using std::cin;

using std::cout;

using std::endl;

using std::string;

//定義模板類,模擬棧的先入後出

template

<

typename type>

class

stack

~stack()

//進棧

bool

push

(double element)

++top_index;

elements[top_index]

= element;

return

true;}

//出棧

bool

pop(

)--top_index;

return

true;}

type top()

bool

empty()

};//判斷操作符的優先順序

bool

precede

(char a,

char b)

//進行「加減乘除」的運算,需要注意兩個運算元的前後位置

float

operate

(char theta,

double a,

double b)

}//彈出數字棧的兩個數,與符號棧的乙個符號,進行計算。

//並將計算結果再次入進數字棧

void

calc

(stack<

double

>

& numbers, stack<

char

>

& operators)

intmain()

else

else}}

//將符號棧清空

while

(!operators.

empty()

)printf

("%.2f\n"

, numbers.

top())

;return0;

}

利用位運算實現加 減 乘 除

加法其實主要問題是怎麼處理進製,當然我們可以每一位分別相加,然後用乙個變數來儲存下一位是否進製 private static int add int a,int b jinwei 1 else if numa numb 0 else 減法無非就是加上乙個數的相反數 a x b 如果把 b 寫成2進製...

筆試題 C 利用棧實現帶括號的加減乘除

參考其他的思路,改了原來的bug。對浮點數 整數都適用。維護三個棧,分別存括號 數字 首先遍歷匹配括號,取出括號內的子字串 然後計算只包括 及數字的子字串的結果,先計算 將 全部入棧,然後計算只包含 的結果。include include include include includeusing n...

web加減乘除法c C 實現簡單的加減乘除計算器

第一次學習c 做了個簡單的加減乘除計算器,只能實現兩個因數的運算。主要是練習下c 程式設計,和以前用過的vb差不多。與vb6不同的是,c 區分大小寫。windows視窗程式主要也是由一些控制項組成,響應響應的事件 event 實現具體的功能。1.效果圖如下所示 2.如下所示 using system...