亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

藍橋杯 表達式計算 By Assassin

2019-11-10 18:57:02
字體:
來源:轉載
供稿:網友

具體的分析講解可以看我的博客如下

利用棧實現表達式講解鏈接

下面直接上代碼,具體的分析在代碼的注釋中了~我是用string實現的~

#include<bits/stdc++.h>using namespace std;stack<char>sign; //記錄符號 queue<string>exchange; //記錄中綴式轉換為后綴式的輸出 stack<int>number; //以int形勢記錄后綴式計算時的值 int stackout(char c){ //棧外符號優先級值 if(c=='(') return 7; else if(c=='*'||c=='/') return 5; else if(c=='+'||c=='-') return 3; else if(c==')') return 1;}int stackin(char c){ //棧內符號優先級值 if(c=='(') return 1; else if(c=='*'||c=='/') return 5; else if(c=='+'||c=='-') return 3; else if(c==')') return 7;}int string_to_int(string s){ //string型轉int型 int ans=0; for(int i=0;i<s.size();i++){ ans=ans*10+(s[i]-'0'); } return ans;}int calc(string s){ string tmp=""; //記錄多位數的字符串 for(int i=0;i<s.size();i++){ if(s[i]>='0'&&s[i]<='9'){ //如果是字符,說明是數的一部分 tmp+=s[i]; } else { if(tmp!=""){ //必須有這個,因為可能出現*(這種情況,這個時候tmp是空的 exchange.push(tmp); tmp=""; } if(s[i]=='('){ //如果是(入棧 sign.push(s[i]); } else if(s[i]==')'){ //如果是)一直出棧到(出現 while(sign.top()!='('){ string zc=""; zc+=sign.top(); //char轉到string exchange.push(zc); sign.pop(); } sign.pop(); //彈出(,這個(是不出現在表達式中的 } else { if(sign.empty()){ //初始時如果棧是空的,不管是什么直接入棧 sign.push(s[i]); continue; } int sign1,sign2; sign1=stackout(s[i]); //計算當前比較字符的棧外優先級值 sign2=stackin(sign.top()); //計算棧頂比較字符的棧內優先級值 if(sign1<=sign2){ //當棧外值較小時 int sign3; string zc=""; //比較過了直接彈出記錄 zc+=sign.top(); exchange.push(zc); sign.pop(); while(!sign.empty()){ //繼續彈出記錄 sign3=stackin(sign.top()); if(sign3<=sign2) break; //直到出現大于棧頂操作符的優先級結束,注意現在都是和棧頂比的?。?! zc.clear(); zc+=sign.top(); exchange.push(zc); sign.pop(); } sign.push(s[i]); //記著把棧外的入棧 } else{ sign.push(s[i]); //當棧外的優先級值大的時候直接入棧 } } } } if(tmp!=""){ //最后一個數進入后綴表達式 exchange.push(tmp); } while(!sign.empty()){ //未彈出的符號進入后綴表達式 string zc=""; zc+=sign.top(); exchange.push(zc); sign.pop(); } //計算后綴表達式了 while(!exchange.empty()){ tmp=exchange.front(); exchange.pop(); if(tmp[0]>='0'&&tmp[0]<='9'){ //是數字轉換后進入number中 number.push(string_to_int(tmp)); } else { int key,number1,number2; number2=number.top(); //注意number1和number2的順序! number.pop(); number1=number.top(); number.pop(); if(tmp=="+") key=number1+number2; if(tmp=="-") key=number1-number2; if(tmp=="*") key=number1*number2; if(tmp=="/") key=number1/number2; number.push(key); //計算完了入棧 } } cout<<number.top()<<endl; //剩下的最后一個就是結果 }int main(){ //freopen("input.txt","r",stdin); string s; while(cin>>s){ calc(s); } return 0;}
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲国产女人aaa毛片在线| 美女扒开尿口让男人操亚洲视频网站| 91精品久久久久久久久中文字幕| 国产日韩欧美视频在线| 久久久在线视频| 欧美在线观看一区二区三区| 91九色蝌蚪国产| 亚洲欧美日韩直播| 亚洲国产精品久久久久久| 欧美高跟鞋交xxxxhd| wwwwwwww亚洲| 久久久国产精品免费| 精品久久久av| 日韩二区三区在线| 欧洲午夜精品久久久| 97免费在线视频| 欧洲亚洲女同hd| 亚洲2020天天堂在线观看| 亚洲新声在线观看| 亚洲国产欧美一区二区三区同亚洲| 国产小视频91| 日韩av影院在线观看| 久久精品电影一区二区| 亚洲精品永久免费精品| 91精品免费视频| 亚洲国产成人久久综合| 国产精品激情av电影在线观看| 亚洲国产第一页| 羞羞色国产精品| 久久久精品在线| 久热精品视频在线| 欧美视频免费在线观看| 亚洲码在线观看| 国产成人精品av| 日韩精品欧美国产精品忘忧草| 亚洲网址你懂得| 亚洲精品xxx| www.xxxx欧美| 亚洲福利视频免费观看| 亚洲成人中文字幕| 亚洲国产精品yw在线观看| 亚洲精品国产精品久久清纯直播| 欧美日韩视频免费播放| 国内精品久久久| 国产欧美久久一区二区| 亚洲男人天堂手机在线| 国产精品免费看久久久香蕉| 国产精品福利小视频| www.日韩av.com| 黄色一区二区三区| 国产精品久久久久99| 精品在线小视频| 国产精品啪视频| 亚洲xxxx妇黄裸体| 成人国产精品日本在线| 精品久久久一区| 国产精品极品美女在线观看免费| 国产日产欧美a一级在线| 国产精品久久久久久久9999| 国产精品第一视频| 欧美黑人狂野猛交老妇| 久久免费成人精品视频| 日韩精品亚洲精品| 一个色综合导航| 国产成人欧美在线观看| 亚洲精品免费av| 久久久精品影院| 久久久av网站| 奇米成人av国产一区二区三区| 精品成人国产在线观看男人呻吟| 一个人看的www久久| 欧美性猛交xxx| 日本久久久久久| 国产一区二区香蕉| 国产精品极品美女在线观看免费| 国产精品欧美激情在线播放| 国产亚洲美女精品久久久| 欧美大片免费观看在线观看网站推荐| 久久久久在线观看| 久久激情视频免费观看| 91精品国产自产在线老师啪| 亚洲另类图片色| 91精品视频在线免费观看| 成人福利免费观看| 亚洲人成电影网站色www| 日韩av在线天堂网| 中文字幕日韩在线视频| 欧美在线影院在线视频| 免费99精品国产自在在线| 亚洲免费影视第一页| 国产精品久在线观看| 91视频国产精品| 亚洲国产精品久久91精品| 国产精品最新在线观看| 亚洲视频视频在线| 日韩成人在线电影网| 欧美性xxxxxxxxx| 日韩hd视频在线观看| 久久精品国产久精国产思思| 亚洲精品福利免费在线观看| 国产精品视频区1| 国产成人精品免费视频| 国产欧美一区二区白浆黑人| 亚洲成人黄色在线观看| 亚洲综合精品伊人久久| 欧美另类99xxxxx| 国产成人av网| 国产精品久久久久999| 国产精品日韩欧美综合| 91精品啪aⅴ在线观看国产| 久久97精品久久久久久久不卡| 亚洲精品小视频| 91精品国产综合久久久久久蜜臀| 国产精品丝袜高跟| 久久久久久久久综合| 91社区国产高清| 欧美主播福利视频| 国产精品av电影| 欧美激情视频在线观看| 亚洲精品短视频| 久久伊人精品视频| 成人激情视频在线观看| 亚洲国产中文字幕久久网| 色综合久久天天综线观看| 欧美亚洲另类视频| 久久久精品久久| 日韩免费精品视频| 欧美日韩一区免费| 日韩成人av网址| 精品一区二区三区三区| 欧美成人网在线| 亚洲va欧美va国产综合剧情| 欧美精品videofree1080p| 中文在线资源观看视频网站免费不卡| 欧美多人乱p欧美4p久久| 国内精品一区二区三区| 日韩欧美在线免费观看| 国产91在线高潮白浆在线观看| 精品久久久av| 欧美日韩中文字幕在线| 欧美中文字幕在线视频| 亚洲黄色www| 成人欧美一区二区三区在线| 亚洲国产美女精品久久久久∴| 91久久中文字幕| 91免费看片网站| 国产精品永久免费观看| 国产香蕉精品视频一区二区三区| 亚洲成色777777在线观看影院| 国产精品无av码在线观看| 美女999久久久精品视频| 欧美成人精品不卡视频在线观看| 中文字幕日韩欧美精品在线观看| 91免费国产网站| 精品视频在线播放| 亚洲美女性生活视频| 国产精品视频男人的天堂| 国产91精品久久久| 国产97色在线|日韩| 日韩有码在线视频| 韩日欧美一区二区| 亚洲国产99精品国自产| www.久久久久久.com| 91精品国产91|