roblem E:请写一个程序,判断给定表达式中的括号是否匹配,表达式中的合法括号为
”(“, “)”, “[", "]“, “{“, ”}”,这三个括号可以按照任意的次序嵌套使用。
输入说明:有多个表达式,输入数据的第一行是表达式的数目,每个表达式占一行。
输出说明:对每个表达式,若其中的括号是匹配的,则输出”yes”,否则输出”no”。
输入样本:
4
[(d+f)*{}]
[(2+3))
()}
[4(6]7)9
输出样本:
yes
no
no
no
思路:
1.碰到左括号入栈
2.右括号判断类型是否匹配(不匹配直接退出,匹配则继续遍历)
3.遍历结束,栈不空则为no
/*
roblem E:请写一个程序,判断给定表达式中的括号是否匹配,表达式中的合法括号为
”(“, “)”, “[", "]“, “{“, ”}”,这三个括号可以按照任意的次序嵌套使用。
输入说明:有多个表达式,输入数据的第一行是表达式的数目,每个表达式占一行。
输出说明:对每个表达式,若其中的括号是匹配的,则输出”yes”,否则输出”no”。
输入样本:
4
[(d+f)*{}]
[(2+3))
()}
[4(6]7)9
输出样本:
yes
no
no
no
*/
#include<stdio.h>
#include<string.h>
int main(void){
int n;
int i,j,k;
char stack[100]; //定义括号栈
int flag[100]; //0表示不匹配 1表示匹配
printf("请输入数据组数:");
scanf("%d",&n)