| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2674 人关注过本帖
标题:我这个中缀表达式转后缀表达式有问题,求修改,编程小白
取消只看楼主 加入收藏
夙愿000000
Rank: 1
来 自:甘肃张掖
等 级:新手上路
帖 子:10
专家分:0
注 册:2016-4-10
结帖率:50%
收藏
已结贴  问题点数:20 回复次数:1 
我这个中缀表达式转后缀表达式有问题,求修改,编程小白
#include<stdio.h>
#include<iostream.h>
#define TRUE 1
#define FALSE 0
#define max 50
typedef struct
{
    char data[max];
    int top;
}SeqStack;
void chushihua(SeqStack *S)
{
    S->top=-1;
}
void compvalue(SeqStack *S,char exp[],char e[])
{
    int i=0,j=0,k=0;
    while(exp[i++]!='\n')
    {
        if(exp[i]>='0'&&exp[i]<='9'){
            j++;
            e[j]=exp[i];
        }
        if(exp[i]=='('){
            S->top++;
            S->data[S->top]=exp[i];
        }
        if(exp[i]==')')
        {
            while(S->data[S->top]!='('){
                j++;
                e[j]=S->data[S->top];
                S->top--;
            }
            S->top--;
        }
        if(exp[i]=='+'||exp[i]=='-')
        {
            if(S->data[S->top]=='+'||S->data[S->top]=='-'||S->data[S->top]=='*'||S->data[S->top]=='/')
            {
                j++;
                e[j]=S->data[S->top];S->top--;
                S->top++;S->data[S->top]=exp[i];
            }
            else{
                S->top++;
                S->data[S->top]=exp[i];
            }

        }
        if(exp[i]=='*'||exp[i]=='/')
        {
            if(S->data[S->top]=='*'||S->data[S->top]=='/')
            {
                j++;
                e[j]=S->data[S->top];S->top--;
                S->top++;S->data[S->top]=exp[i];
            }
            else
            {
                S->top++;
                S->data[S->top]=exp[i];
        }
    }
    }
        while(S->top!=-1)
        {
            e[j++]=S->data[S->top];
            S->top--;
        }
        while(e[k]!='\n')
        {
            cout<<e[k];
            k++;
        }
}
int main()
{
    SeqStack S;
    chushihua(&S);
    int i=0;
    char exp[20],e[20];
    cout<<"请输入中缀表达式:"<<endl;
    gets(exp);
    chushihua(&S);
    compvalue(&S,exp,e);
    return 0;
}
搜索更多相关主题的帖子: 表达式 
2016-07-05 15:20
夙愿000000
Rank: 1
来 自:甘肃张掖
等 级:新手上路
帖 子:10
专家分:0
注 册:2016-4-10
收藏
得分:0 
回复 2楼 word123
谢谢了
2016-07-07 15:11
快速回复:我这个中缀表达式转后缀表达式有问题,求修改,编程小白
数据加载中...
 
   



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

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