c++ :括号匹配

c++ :括号匹配
题目描述
假设一个算术表达式中可以包含三种括号:圆括号“(”和“)”,方括号“[”和“]”和花括号“{”和“}”,且这三种括号可按任意的次序嵌套使用(如:…[…{… …[…]…]…[…]…(…)…)。编写判别给定表达式中所含括号是否正确配对出现的算法。输出结果YES 或者 NO。
输入
5+{[2X5]+2}
输出
YES
样例输入 Copy
8-[{2+7]}
样例输出 Copy
NO

#include
#include
#include
using namespace std;
int main ( )
{

    char ans[10000] , bns[10000] ,cns[10000];
    int n;
    int i,j;
    while ( ~ scanf( "%s" , ans ))
    {
        for( j=0,i=0 ; i < strlen(ans) ; i++ )
        {
           
            if(ans[i]=='('||ans[i]==')'||ans[i]=='['||ans[i]==']'||ans[i]=='{'||ans[i]=='}')
                bns[j++]=ans[i];
        }
        int f=0,k=0;
        for( i=0;i

你可能感兴趣的:(代码)