任意给定一个数学表达式如{(12-5)*3-[22+(3*4-19)/3]}+(34-21)*2,试设计一个算法判断表达式的括号是否匹配。包括程序设计思路和主要代码及注释,用c++实现
2条回答 默认 最新
- 波塞冬的祝福 2020-05-18 14:04关注
#include<iostream> #include<string.h> #include<stack>//调用标准库 using namespace std; int main() { char s[50]; stack<char>st;//建立一个字符型栈 while(cin>>s) { while(!st.empty()) {st.pop();} int len=strlen(s),flag=1; for(int i=0;i<len;i++) { if(s[i]=='('||s[i]=='{'||s[i]=='[') st.push(s[i]);//将左括号压入栈中 else { if(st.empty()) { flag=0; break; } char t=st.top(); st.pop(); if(s[i]==')'&&(t=='['||t=='{')) { flag=0; break; } else if(s[i]=='}'&&(t=='('||t=='[')) { flag=0; break; } else if(s[i]==']'&&(t=='{'||t=='(')) { flag=0; break; } } } if(!st.empty()) flag=0; if(flag==1) cout<<"true!"<<endl; else cout<<"false!"<<endl; } return 0; }
解决 无用评论 打赏 举报
悬赏问题
- ¥15 mac playcover上原神在登录后的加载页面闪退,重新下载原神IPA和playcover均无效
- ¥20 node-dev能不能离线安装?
- ¥20 六子棋博弈基于Alpha-Beta剪枝搜索算法的优化
- ¥15 mlx90393用stm32f1的单片机使用软件i2c通信一直报错
- ¥20 校园二手交易小程序搭建
- ¥15 请问在ubuntu用conda创建环境报错怎么能解决
- ¥15 STM32CubeMX/proteus按键控制指示灯颜色切换
- ¥20 python,计算区位熵和扩张指数
- ¥15 Python环境配置
- ¥15 解决页面无法编入索引:被“noindex”标签排除的问题?