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

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

藍橋杯 表達式計算 By Assassin

2019-11-10 19:24:03
字體:
來源:轉載
供稿:網友

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

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

下面直接上代碼,具體的分析在代碼的注釋中了~我是用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在线免费观看| 亚洲性夜色噜噜噜7777| 国产啪精品视频网站| 日韩中文字幕在线视频播放| 欧美香蕉大胸在线视频观看| 久久不射热爱视频精品| 欧美激情第三页| 国产999在线观看| 国产98色在线| 久久综合色影院| 国产激情久久久久| 精品福利在线视频| 国产精品成人aaaaa网站| 亚洲乱码一区二区| 91高清视频免费| 欧美日韩国产精品一区二区三区四区| 国语自产精品视频在线看抢先版图片| 久久av中文字幕| 亚洲国产精品福利| 色综合男人天堂| 国产亚洲欧美日韩一区二区| 国产精品999999| 国产成人精品亚洲精品| 精品亚洲国产视频| 亚洲国产一区二区三区在线观看| 亚洲国产免费av| 久久中文久久字幕| 午夜精品久久久久久久男人的天堂| 日韩中文字幕在线免费观看| 亚洲伊人一本大道中文字幕| 91在线免费视频| 日本一区二区不卡| 韩国日本不卡在线| 91中文字幕在线观看| 欧美老女人性生活| 欧美激情a∨在线视频播放| 亚洲网站在线观看| 亚洲无av在线中文字幕| 亚洲娇小xxxx欧美娇小| 欧美一区视频在线| 日韩精品丝袜在线| 秋霞成人午夜鲁丝一区二区三区| 精品久久久久久久久久久| 亚洲欧美精品伊人久久| 午夜精品一区二区三区在线播放| 欧美日韩国产影院| www.日韩免费| 77777亚洲午夜久久多人| 久久精品人人做人人爽| 色综合久久久久久中文网| 另类天堂视频在线观看| 国产精品女主播| 91精品国产色综合久久不卡98口| 久久精品99国产精品酒店日本| 久久久日本电影| 亚洲精品免费一区二区三区| 国产98色在线| 国产成人91久久精品| 精品国产视频在线| 亚洲免费影视第一页| 久久久亚洲成人| 91天堂在线观看| 中日韩美女免费视频网址在线观看| 97香蕉久久夜色精品国产| 精品亚洲永久免费精品| 欧美—级高清免费播放| 中日韩美女免费视频网站在线观看| 国产日韩欧美日韩大片| 色综合天天综合网国产成人网| 欧美日韩成人精品| 日韩三级影视基地| 亚洲精品一区中文字幕乱码| 欧美激情在线观看视频| 亚洲成av人乱码色午夜| 日韩视频免费大全中文字幕| 日韩高清有码在线| 日韩免费电影在线观看| 欧美中文字幕在线| 77777亚洲午夜久久多人| 欧美日韩在线影院| 亚洲精品一区二三区不卡| 亚洲欧美激情视频| 久久大大胆人体| 美女精品久久久| 亚洲综合中文字幕在线| 午夜精品国产精品大乳美女| 日韩电视剧免费观看网站| 亚洲va欧美va国产综合剧情| 中文国产成人精品久久一| 日韩av高清不卡| 欧美激情啊啊啊| 久久精品亚洲一区| 国内精品一区二区三区四区| 亚洲国产精品一区二区三区| 欧美电影第一页| 亚洲人成亚洲人成在线观看| 亚洲福利小视频| 国产午夜精品全部视频在线播放| 92国产精品久久久久首页| 成人中文字幕在线观看| 亚洲无限乱码一二三四麻| 九九视频直播综合网| 亚洲无线码在线一区观看| 中文字幕日韩av综合精品| 久久色精品视频| 久久久久久久久久久91| 欧美日韩国产丝袜另类| 欧美一区二区影院| 一色桃子一区二区| 成人免费淫片aa视频免费| 国产精品欧美日韩久久| 在线精品国产成人综合| 国产精品国内视频| 国内免费精品永久在线视频| 精品亚洲男同gayvideo网站| 亚洲激情视频在线观看| 91av视频在线免费观看| 91福利视频在线观看| 性色av一区二区三区在线观看| 91精品在线观看视频| 中文字幕亚洲一区在线观看| 精品视频久久久久久久| 91国产一区在线| 91精品久久久久久综合乱菊| 久久久精品视频在线观看| 91中文精品字幕在线视频| 午夜精品一区二区三区在线播放| 日韩高清av在线| 91av在线免费观看视频| 日韩精品在线观看网站| 97久久精品人搡人人玩| 久久精品成人一区二区三区| 亚洲一二在线观看| 韩国视频理论视频久久| 亚洲国产日韩欧美在线动漫| 91久久精品日日躁夜夜躁国产| 亚洲乱码av中文一区二区| 亚洲成年人在线播放| 欧美中在线观看| 欧美成人自拍视频| 欧美巨大黑人极品精男| 在线日韩欧美视频| 欧美黄色性视频| 国产精品嫩草影院久久久| 欧美电影免费观看网站| 日韩国产高清污视频在线观看| 欧美视频不卡中文| 亚洲成人免费网站| 日韩av免费看网站| 中文字幕在线看视频国产欧美在线看完整| 91在线观看免费高清| 色婷婷av一区二区三区在线观看| 精品免费在线观看| 国产精品久久久久久久久久99| 国产日韩欧美日韩大片| 亚洲乱码国产乱码精品精| 亚洲xxx自由成熟| 亚洲成色777777在线观看影院| 茄子视频成人在线| 久热精品视频在线| 国产视频一区在线| 午夜精品视频在线| 国产亚洲视频中文字幕视频| 亚洲天堂av在线免费观看|