表达式括号匹配(stack)
2016-02-19 14:38
351 查看
题目描述
假设一个表达式由英文字母(小写)、运算符(+、-、*、/)和左右小(圆)括号构成,以“@”作为表达式的结束符。请编写一个程序检查表达式中的左右括号是否匹配,若匹配,则返回“YES”;否则返回“NO”。表达式长度小于255,左圆括号少于20个。输入输出格式
输入格式:输入文件stack.in包括一行数据,即表达式。
输出格式:
输出文件stack.out包括一行,即“YES”或“NO”。
输入输出样例
输入样例#1:stack.in
2*(x+y)/(1-x)@
输入样例#2:
stack.in
(25+x)*(a*(a+b+b)@
输出样例#1:
stak.out
YES
输出样例#2:
stak.out
NO
思路
遇到“(”,k++;遇到“)”,k--。如果最后k=0,输出YES,反之,输出NO。代码
#include<stdio.h> #include<string.h> char a[260]; int main() { int i=0,k=0,len; gets(a); len=strlen(a)-1; for(i=0;i<=len;i++) { if(a[i]=='(') k++; if(a[i]==')') k--; } if(k==0) printf("YES"); else printf("NO"); return 0; }
View Code
相关文章推荐
- AS快捷键
- 人生应该接受的教育
- UE4 动画序列
- docker storage driver compare
- 关于高德地图转换经纬度为屏幕点,方便自定义需链接网络的marker且添加属性动画
- 闲来无事,用python练习一下排序算法,\(0^◇^0)/
- Android数据库高手秘籍(八)——使用LitePal的聚合函数
- html5中canvas画布实现手机端和移动端的刮刮乐效果
- 告诉你dispatch_queue_set_specific和dispatch_get_specific是个什么鬼
- IP地址的划分
- Treap(树堆)
- 319. Bulb Switcher
- NEC 工程师规范
- iOS 工程功能实现之好用的第三方
- iOS开发-事件处理
- 系统监控程序
- hive
- 项目管理百字真言
- mdio 驱动
- 实现友盟推送消息的完全自定义处理