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