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

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

藍橋杯 表達式計算 By Assassin

2019-11-10 20:00:13
字體:
來源:轉載
供稿:網友

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

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

下面直接上代碼,具體的分析在代碼的注釋中了~我是用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
97在线观看视频| 国产精品小说在线| 日韩中文在线中文网三级| 国产精品久久久久久久9999| 一区二区福利视频| 国产a∨精品一区二区三区不卡| 久久精品久久久久电影| 欧美一区二区三区免费视| 波霸ol色综合久久| 国产成人精品av| 美日韩精品免费视频| 日韩欧美中文在线| 欧美日韩一区二区三区| 午夜精品久久久久久久久久久久久| 亚洲一区二区三区视频播放| 亚洲欧美制服另类日韩| 国产成人短视频| 国产精品中文字幕久久久| 中文字幕欧美精品在线| 欧美一级免费看| 91精品国产网站| 日本中文字幕久久看| 8x海外华人永久免费日韩内陆视频| 久久五月天色综合| 欧美日韩国产黄| 97国产精品人人爽人人做| 久久精品国产91精品亚洲| 国产精品入口尤物| 日韩av片永久免费网站| 欧美中文字幕在线视频| 美女啪啪无遮挡免费久久网站| 国内精品400部情侣激情| 色在人av网站天堂精品| 国产91在线播放| 亚洲香蕉成人av网站在线观看| 亚洲精品美女在线观看播放| 欧美日本中文字幕| 裸体女人亚洲精品一区| 欧美性xxxxx极品娇小| 欧美重口另类videos人妖| 国产香蕉一区二区三区在线视频| 欧美色另类天堂2015| 91人人爽人人爽人人精88v| 性欧美办公室18xxxxhd| 国产精品精品视频| 2020久久国产精品| 91精品中文在线| 国产精品美女无圣光视频| 色综合天天狠天天透天天伊人| 久久这里有精品视频| 亚洲成人久久久| 456亚洲影院| 成人免费福利在线| 亚洲成人亚洲激情| 91av在线免费观看| 性亚洲最疯狂xxxx高清| 久久久久久91香蕉国产| 精品国产老师黑色丝袜高跟鞋| 国产精品福利小视频| 欧美午夜视频一区二区| 亚洲国产黄色片| 日韩精品亚洲视频| 亚洲一区二区久久久| 九九精品视频在线| 国产脚交av在线一区二区| 日韩在线观看电影| 国产精品丝袜白浆摸在线| 夜夜嗨av色综合久久久综合网| 欧美国产日本高清在线| 欧美激情精品久久久久久| 日韩中文字幕免费视频| 欧美日韩美女在线| 亚洲人成77777在线观看网| 亚洲国产精彩中文乱码av在线播放| 亚洲男子天堂网| 欧洲成人性视频| 国产亚洲精品va在线观看| 国产v综合ⅴ日韩v欧美大片| 美女撒尿一区二区三区| 亚洲国产日韩欧美在线99| 国产丝袜高跟一区| 亚洲国产精品99久久| 亚洲自拍高清视频网站| 57pao成人国产永久免费| 午夜精品久久久久久久白皮肤| 91国产高清在线| 欧美猛交ⅹxxx乱大交视频| 亚洲国产精品成人av| 欧美激情va永久在线播放| 亚洲欧美另类在线观看| 中文欧美在线视频| 有码中文亚洲精品| 欧美超级乱淫片喷水| 精品女厕一区二区三区| 国模叶桐国产精品一区| 狠狠色狠狠色综合日日小说| 这里只有精品视频在线| 亚洲人成免费电影| 欧美一级视频在线观看| 日韩美女视频在线观看| 精品久久久久久亚洲国产300| 亚洲性猛交xxxxwww| 国产精品久久久久久久久久新婚| 国产成人精品免费视频| 亚洲国产成人久久综合| 国产精品永久免费| 国产精品96久久久久久又黄又硬| 日韩av网站电影| 日韩三级影视基地| 久久久久久久91| 爽爽爽爽爽爽爽成人免费观看| 亚洲偷欧美偷国内偷| 日韩av中文字幕在线免费观看| 97精品视频在线播放| 国产精品欧美激情在线播放| 国产欧美日韩专区发布| 欧美激情精品久久久| 久久中国妇女中文字幕| 美女av一区二区| 精品日本高清在线播放| 91九色国产在线| 成人高清视频观看www| 日本免费一区二区三区视频观看| 成人情趣片在线观看免费| 色无极影院亚洲| 亚洲伊人久久大香线蕉av| 亚洲综合在线中文字幕| 欧美最猛性xxxxx亚洲精品| 69久久夜色精品国产69乱青草| 亚洲精品国产免费| 国产欧美一区二区白浆黑人| 国产精品99久久久久久久久久久久| 欧美一级淫片播放口| 亚洲小视频在线| 国内精品免费午夜毛片| 欧美激情欧美激情在线五月| 夜夜嗨av色综合久久久综合网| 奇米4444一区二区三区| 亚洲一级黄色片| 欧美激情中文字幕乱码免费| 国外成人在线播放| 2020欧美日韩在线视频| 久久成人在线视频| 一区二区三区日韩在线| 欧美亚洲视频在线观看| 91国内揄拍国内精品对白| 亚洲免费视频在线观看| 欧美日韩在线视频首页| 日韩在线视频二区| 精品国产一区二区三区久久狼黑人| 国产午夜精品一区理论片飘花| 91精品国产色综合久久不卡98| 91精品国产自产在线| 欧美成人免费网| 久久99国产精品自在自在app| 欧美性视频精品| 久久av在线看| 国产精品视频免费在线| 97精品久久久| 另类专区欧美制服同性| 国产原创欧美精品| 日韩亚洲成人av在线| 成人乱人伦精品视频在线观看| 国产成人小视频在线观看|