zoukankan      html  css  js  c++  java
  • SDUT 2133 数据结构实验之栈与队列三:后缀式求值

     

     

    数据结构实验之栈与队列三:后缀式求值

    Time Limit: 1000 ms Memory Limit: 65536 KiB

    Problem Description

    对于一个基于二元运算符的后缀表示式(基本操作数都是一位正整数),求其代表的算术表达式的值。

    Input

    输入一个算术表达式的后缀式字符串,以‘#’作为结束标志。

    Output

    求该后缀式所对应的算术表达式的值,并输出之。

    Sample Input

    59*684/-3*+#

    Sample Output

    57

    提示:本题熟悉了栈的原理即可做出,反向应用算术表达式转化后缀式。

    代码表示如下(g++):
    #include<bits/stdc++.h>
    
    using namespace std;
    
    int main()
    {
        stack<int>t;
        int d,i;
        char a[1010];
        scanf("%s",a);
        for(i=0;a[i]!='#';i++)
        {
            if(a[i]=='+'||a[i]=='-'||a[i]=='*'||a[i]=='/')
            {
                if(a[i]=='+')
                {
                    d=t.top();
                    t.pop();
                    d=t.top()+d;
                    t.pop();
                    t.push(d);
                }
                else if(a[i]=='-')
                {
                    d=t.top();
                    t.pop();
                    d=t.top()-d;
                    t.pop();
                    t.push(d);
                }
                else if(a[i]=='*')
                {
                    d=t.top();
                    t.pop();
                    d=t.top()*d;
                    t.pop();
                    t.push(d);
                }
                else if(a[i]=='/')
                {
                    d=t.top();
                    t.pop();
                    d=t.top()/d;
                    t.pop();
                    t.push(d);
                }
            }
            else
                t.push(a[i]-'0');
        }
        printf("%d",t.top());
        return 0;
    }
    
    
    /***************************************************
    Result: Accepted
    Take time: 0ms
    Take Memory: 156KB
    ****************************************************/
  • 相关阅读:
    v-charts 使用markline标线
    覆盖率平台(5)- 生成覆盖率报告
    覆盖率平台(4)- 测程启动
    覆盖率平台(3)- 测程
    覆盖率平台(2)- 服务配置
    vue路由this.route.push跳转页面不刷新
    递归对比json
    ssh远程执行遇到的一些坑
    免密git clone/git pull
    git用远程代码强制覆盖本地代码
  • 原文地址:https://www.cnblogs.com/jkxsz2333/p/9488163.html
Copyright © 2011-2022 走看看