您的位置:首页 > 理论基础 > 数据结构算法

数据结构实验之栈四:括号匹配

2016-07-27 11:02 447 查看

数据结构实验之栈四:括号匹配

Time Limit: 1000MS Memory limit: 65536K

题目描述

给你一串字符,不超过50个字符,可能包括括号、数字、字母、标点符号、空格,你的任务是检查这一串字符中的( ) ,[ ],{ }是否匹配。

输入

输入数据有多组,处理到文件结束。

输出

如果匹配就输出“yes”,不匹配输出“no”

示例输入

sin(20+10){[}]

示例输出

yesno

提示

来源

ma6174

示例程序

提交状态
#include<stdio.h>#include<string.h>#include<stdlib.h>int f(char a[]){char b[65];int top=0;int len=strlen(a);int t,i;for(i=0; i<len; i++){if(a[i]=='('||a[i]=='{'||a[i]=='[')b[++top]=a[i];if(a[i]==')'||a[i]=='}'||a[i]==']'){if((a[i]==')'&&b[top]=='(')||(b[top]=='{'&&a[i]=='}')||(b[top]=='['&&a[i]==']'))t=1;else{t=0;break;}top--;}}if((i==len)&&top==0)t=1;else t=0;return t;}int main(){char a[65];while(gets(a)!=NULL){if(f(a)==1)printf("yes\n");elseprintf("no\n");}}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: