首页 > 学院 > 开发设计 > 正文

表达式括号匹配

2019-11-10 18:18:58
字体:
来源:转载
供稿:网友

题目描述 假设一个表达式有英文字母(小写)、运算符(+,—,*,/)和左右小(圆)括号构成,以“@”作为表达式的结束符。请编写一个程序检查表达式中的左右圆括号是否匹配,若匹配,则返回“YES”;否则返回“NO”。表达式长度小于255,左圆括号少于20个。

输入输出格式 输入格式: 一行:表达式

输出格式: 一行:“YES” 或“NO”

输入输出样例 输入样例: ① 2*(x+y)/(1-x)@ ② (25+x)(a(a+b+b)@

输出样例: ① YES ② NO

说明 表达式长度小于255,左圆括号少于20个 这题没什么好说的,就是累加左括号的数量减去右括号的数量,看是否等于零,等于0就输出“YES”,否则输出“NO”。


var n,i:longint; s:string;begin readln(s); for i:=1 to length(s)-1 do begin if s[i]='(' then inc(n); if s[i]=')' then dec(n); end; if n=0 then writeln('YES') else writeln('NO'); end.
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表