hdu 1237 簡單計算器(棧)

2021-09-07 14:02:48 字數 584 閱讀 4494

hdu 1237 簡單計算器(棧)

如果是+,就把原數壓入棧

如果是-,就把相反數壓入棧

如果是*,就把當前數和棧頂數計算後壓入棧

如果是/,就把當前數和棧頂數計算後壓入棧

注意該題是3 + 2而不是3+2,有空格

#include #include#include#include#includeusing namespace std;	

stacknum;

int main()

else if(c=='/')

else if(c=='+')

num.push(n);

else if(c=='-')

num.push(0-n);

if(getchar()=='\n')//本行輸入結束

break;

c=getchar();//如果這行輸入沒有結束就接著接受空格

} while(!num.empty())

printf("%.2lf\n",sum);

} return 0;

}

hdu 1237 簡單計算器 棧

這個題目是大部分人都是用棧來寫的,本週訓練老師也講了兩次棧的原理。自己最近也看了資料結構中與棧有關的內容,還是比較深刻理解了沒有括號情況下表示式求解。include include include using namespace std char s 250 post 250 s是輸入的中綴表示式,...

hdu1237 簡單計算器 棧

題目鏈結 題目給出的是中綴表示式,中綴表示式是我們習慣上用的計算表示式,人腦計算方便快速,但是計算機不然,計算機計算波蘭和逆波蘭表示式都很方便,但對中綴表示式通常需要轉化成字首或字尾表示式才方便計算。舉例 4 2 5 7 11 轉化成逆波蘭的形式是 4 2 5 7 11 對於人腦,轉化過程是對表示式...

hdu 1237 簡單計算器 棧

這個題目是大部分人都是用棧來寫的,本週訓練老師也講了兩次棧的原理。自己最近也看了資料結構中與棧有關的內容,還是比較深刻理解了沒有括號情況下表示式求解。include include include using namespace std char s 250 post 250 s是輸入的中綴表示式,...