括号不配对
兴邦在写代码时遇到了括号不配对的报错,你可以帮他找到缺失的括号吗?
输入
输入一行包含多种括号的文本,不会超过64字符,可能包含括号的嵌套。
多种括号是指( ) [ ] { } < >
(皆为半角括号)
这些括号本应匹配,但不知因何种原因缺失了一个
输出
输出缺失的括号
输入样例
< > [ ] { ( )
输出样例
}
代码
#include <stdio.h>
#include <string.h>
void compare(int a,int b,char ach,char bch) {
if (a > b) {
for (int i = 1;i <= a - b;i++) {
printf ("%c",bch);
}
}
else {
for (int i = 1;i <= b-a;i++) {
printf ("%c",ach);
}
}
}
int main () {
char a[64];
gets (a);
int n = strlen(a);
int a1 = 0,a2 = 0;
int b1 = 0,b2 = 0;
int c1 = 0,c2 = 0;
for (int i = 0;i < n;i++) {
switch ( a[i]) {
case 40: a1++;
break;
case 41: a2++;
break;
case 91: b1++;
break;
case 93: b2++;
break;
case 123: c1++;
break;
case 125: c2++;
}
}
compare(a1,a2,'(',')');
compare(b1,b2,'[',']');
compare(c1,c2,'{','}');
return 0;
}