数据结构实验之栈四:括号匹配

Time Limit: 1000MS Memory Limit: 65536KB
Submit Statistic Discuss

Problem Description

给你一串字符,不超过50个字符,可能包括括号、数字、字母、标点符号、空格,你的任务是检查这一串字符中的( ) ,[ ],{ }是否匹配。

Input

输入数据有多组,处理到文件结束。

Output

如果匹配就输出“yes”,不匹配输出“no”

Example Input

sin(20+10){[}]

Example Output

yesno

每种情况都要考虑到

#include<iostream>
#include<stack>
#include<cstring>
#include<cstdio>
using namespace std;int main()
{char ch[1000],str[1000];while(gets(str)){int p=0;for(int i=0;i<strlen(str);i++){if(str[i]=='{'||str[i]=='}'||str[i]=='('||str[i]==')'||str[i]=='['||str[i]==']'){ch[p++]=str[i];}}//puts(ch);int a=0,b=0,c=0,l=1;for(int i=0;i<p;++i){if(!l) break;switch(ch[i]){case '(':a++;break;case ')':if(a)a--;else l=0;break;case '{':b++;break;case '}':if(b)b--;elsel=0;break;case '[':c++;break;case ']':if(c)c--;elsel=0;break;}}int k=0;//printf("-%d-\n",l);if((a==0&&b==0&&c==0)&&l){for(int i=0;i<strlen(ch)-1;i++){if(ch[i]=='{'&&ch[i+1]==']'||ch[i]=='{'&&ch[i+1]==')'||ch[i]=='['&&ch[i+1]==')'||ch[i]=='['&&ch[i+1]=='}'||ch[i]=='('&&ch[i+1]==']'||ch[i]=='('&&ch[i+1]=='}'){k=1;printf("no\n");}}if(!k)printf("yes\n");}elseprintf("no\n");}return 0;
}

sdut 数据结构实验之栈四:括号匹配相关推荐

  1. 数据结构实验之栈四:括号匹配

     数据结构实验之栈四:括号匹配 Description 给你一串字符,不超过50个字符,可能包括括号.数字.字母.标点符号.空格,你的任务是检查这一串字符中的( ) ,[ ],{ }是否匹配. Inp ...

  2. 数据结构链表之栈——解决括号匹配问题和逆波兰表达式求值问题——6

    括号匹配问题和逆波兰表达式求值问题 基于上一节已经使用python代码对栈进行了简单的实现,这一节我们在其基础上解决两个常见的问题 案例 括号匹配问题(点我直接到代码实现) 逆波兰表达式求值问题(点我 ...

  3. sdut 2134 数据结构实验之栈与队列四:括号匹配

    数据结构实验之栈与队列四:括号匹配 Time Limit: 1000MS Memory Limit: 65536KB Submit Statistic Discuss Problem Descript ...

  4. 利用顺序栈解决括号匹配问题(c++)-- 数据结构

    利用顺序栈解决括号匹配问题(c++)-- 数据结构 参考文章: (1)利用顺序栈解决括号匹配问题(c++)-- 数据结构 (2)https://www.cnblogs.com/yi2105/p/106 ...

  5. 数据结构实验之排序四:寻找大富翁 SDUT

    数据结构实验之排序四:寻找大富翁 SDUT Time Limit: 200 ms Memory Limit: 512 KiB Submit Statistic Problem Description ...

  6. sdut 2088 数据结构实验之栈与队列十一:refresh的停车场

    数据结构实验之栈与队列十一:refresh的停车场 Time Limit: 1000MS Memory Limit: 65536KB Submit Statistic Discuss Problem ...

  7. sdut 1479 数据结构实验之栈与队列九:行编辑器

    数据结构实验之栈与队列九:行编辑器 Time Limit: 1000MS Memory Limit: 65536KB Submit Statistic Discuss Problem Descript ...

  8. sdut 3335 数据结构实验之栈与队列八:栈的基本操作

    数据结构实验之栈与队列八:栈的基本操作 Time Limit: 1000MS Memory Limit: 65536KB Submit Statistic Discuss Problem Descri ...

  9. sdut 3333 数据结构实验之栈与队列六:下一较大值(二)

    数据结构实验之栈与队列六:下一较大值(二) Time Limit: 150MS Memory Limit: 8000KB Submit Statistic Discuss Problem Descri ...

最新文章

  1. oracle多个instance,Oracle 数据库EM访问多个Instance
  2. [转]SVN + CruiseControl.NET + NANT 自动编译提交的项目最小DEMO
  3. Bugzilla集成LDAP的方法
  4. linux网络编程系列-select和epoll的区别
  5. C语言数据结构----递归的应用(斐波拉契数列、汉诺塔、strlen的递归算法)
  6. 【Matlab】滤波器常用命令
  7. Git 2.19 对Diff、Branch和Grep等做了改进
  8. hashMap 底层原理+LinkedHashMap 底层原理+常见面试题
  9. Error:Connection activation failed: No suitable device found for this connection
  10. java repl_Java REPL – jshell
  11. 编码:unicode、utf-8以及emoji
  12. Bartender模板三种动态图片设置方法(仅供参考)
  13. EmmyLua ProtoBuf Api提示
  14. 吉他效果器插件-IK Multimedia AmpliTube 5 MAX 5.0.3 macOS
  15. android4.04版本微信,微信旧版本6.3.27v6.3.27 老版本 Android
  16. 重标极差分析法matlab,重标极差(RS)分析法估计Hurst指数的有效性检验.doc
  17. php 数字转换为字符串,PHP-将数字转换为Excel的字符串
  18. 穷举暴力破解密码(真香版)
  19. win10如何修改远程桌面的默认端口_win10远程桌面端口的更改办法
  20. oracle wallet相关的bug|oracle wallet使用注意事项|ORA-28374: typed master key not found in wa

热门文章

  1. 计算机模拟量与数字量的转换,在S7-1200 CPU中,如何实现模拟量数值与工程量数值之间的转换?...
  2. Python入门教学之(标识符和保留字)
  3. JAVA入门级教学之(编写第一个HelloWorld程序)
  4. 没有显示屏怎么启动服务器,中关村xp系统提示“没有启动服务器服务”如何解决...
  5. layui 传递前端请求_layui弹出层如何传值?
  6. 跳出所有循环的语句_从零开始的Java之旅2.0 流程控制语句
  7. python分箱分类代码_Python实现变量分箱及应用
  8. java 接口中变量修饰符,Java的访问修饰符与变量的作用域讲解
  9. java io 视频 下载_Java下载映客主播视频回放到电脑硬盘
  10. 与context的关系_你还不知道 OpenGL ES 和 EGL 的关系?