2. (程序题)
题目编号:Exp02-Basic02
题目名称:括号统计
题目描述:编程序,判断给定以字符‘@’结束的字符序列中‘(’与‘)’、‘[’与‘]’、‘{’与‘}’的个数是否相等。
输入:输入一串以字符‘@’结束的字符序列,其间可能含有若干空白字符。
输出:个数不相等的括号(按花括号、方括号、圆括号的顺序);如果三种括号的个数都相等,输出NULL。
样例1:
Plain Text
输入:{a+b*c+(d/e-f]}}@
Plain Text
输出:{}[]()
样例2:
Plain Text
输入:{a + b*c+(d/e-f]}@
Plain Text
输出:[]()
#include<stdio.h>
int main()
{
int a,b,c,d,e,f,g;
a=0;
b=0;
c=0;
d=0;
e=0;
f=0;
g=0;
while(a!='@')
{
scanf("%c",&a);
if(a=='(')
b++;
if(a==')')
c++;
if(a=='{')
d++;
if(a=='}')
e++;
if(a=='[')
f++;
if(a==']')
g++;
}
if(b==c&&d==e&&f==g)
{
printf("NULL");
}
else
{
if(d!=e)
{
printf("{}");
}
if(f!=g)
{
printf("[]");
}
if(b!=c)
{
printf("()");
}
}
return 0;
}