| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2091 人关注过本帖
标题:求助程序哪里有问题?括号匹配问题
取消只看楼主 加入收藏
龙岩花界
Rank: 2
等 级:论坛游民
帖 子:41
专家分:27
注 册:2018-10-18
结帖率:25%
收藏
已结贴  问题点数:20 回复次数:3 
求助程序哪里有问题?括号匹配问题
括号配对
#include<stdio.h>
#include<iostream.h>
#include<stdlib.h>
#include<string.h>
typedef char ElemType;
#define true 1
#define false 0
#define MaxSize 10
typedef struct
{
    ElemType data[MaxSize];
    int top;
}StType;
void InitStack(StType *&s)
{
    s=(StType *)malloc(sizeof(StType));
    s->top=-1;
}
void DestoryStack(StType *&s)
{
    free(s);
}
bool StackEmpty(StType *&s)
{
    return(s->top==-1);
}
bool Push(StType *&s,ElemType e)
{   if(s->top==MaxSize)
       return 0;
s->top++;
s->data[s->top]=e;
return 1;
}
bool Pop(StType *&s,ElemType &e)
{   if(s->top==-1)
       return 0;
e=s->data[s->top];
s->top--;
return true;
}
bool GetTop(StType *&s,ElemType &e)
{   if(s->top==-1)
       return false;
e=s->data[s->top];
return true;
}

bool Match(char exp[],int n)
{
    int i=0;char e;
    bool match=true;
    StType * st;
    InitStack (st);
    while(i<n&&match)
    {   if(exp[i]=='(')
        Push  (st,exp[i]);
     else if(exp[i]==')')
     { if(GetTop(st,e)==true)
        {
         if(e!='(')
        match=false;
     else
         Pop(st,e);
     }
     else match=false;
     }
     i++;
    }
    if(!StackEmpty(st))
        match=false;
    DestoryStack(st);
    return match;
}
int main()
{
char exp[20];
printf("请输入表达式:\n");
gets(exp);
if(Match(exp,strlen(exp)==1))
printf("表达式%s 括号配对\n",exp);
else
printf("表达式%s 括号不配对\n",exp);
return 0;
}
搜索更多相关主题的帖子: 括号 top return Match exp 
2018-10-18 14:18
龙岩花界
Rank: 2
等 级:论坛游民
帖 子:41
专家分:27
注 册:2018-10-18
收藏
得分:0 
定义的栈应该不存在问题吧
2018-10-19 19:30
龙岩花界
Rank: 2
等 级:论坛游民
帖 子:41
专家分:27
注 册:2018-10-18
收藏
得分:0 
你这边可以对我的代码进行修改,发一个完整的过来吗?
2018-10-19 19:33
龙岩花界
Rank: 2
等 级:论坛游民
帖 子:41
专家分:27
注 册:2018-10-18
收藏
得分:0 
谢谢大佬,但是我运行之后发现你的程序跟我的程序有一样的问题,就是有些配对是对的,但是有些又是错的,我感觉程序应该还是有小问题。还没找出来。
2018-10-21 15:54
快速回复:求助程序哪里有问题?括号匹配问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015912 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved