数据结构实验之栈与队列三:后缀式求值(SDUT 2133)
题解:把每一步计算的答案再存在栈里面,直到计算结束。
如果是操作数 那么直接入栈;如果是运算符,那么把栈里面最顶部的两个操作数拿出来进行运算,运算结果再放入到栈里面,计算完所有的(#之前的长度位len- 1)就可以了。
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
int a[10005];
char s[20005];
int main()
{
    int i,j,k,top;
    while(~scanf("%s",s))
    {
        top = 0;
        int len = strlen(s);
        for(i = 0; i < len - 1; i ++)
        {
            if(s[i] >= '0' && s[i] <= '9')
            {
                a[top ++] = s[i] - '0';
            }
            else
            {
                if(s[i] == '+')
                {
                    k = a[top - 2] + a[top - 1];
                    top --;
                    a[top - 1] = k;
                }
               else if(s[i] == '-')
                {
                    k = a[top - 2] - a[top - 1];
                    top --;
                    a[top - 1] = k;
                }
                else if(s[i] == '*')
                {
                    k = a[top - 2] * a[top - 1];
                    top --;
                    a[top - 1] = k;
                }
                else if(s[i] == '/')
                {
                    k = a[top - 2] / a[top - 1];
                    top --;
                    a[top - 1] = k;
                }
            }
        }
        printf("%d\n",a[top - 1]);
    }
    return 0;
}
数据结构实验之栈与队列三:后缀式求值(SDUT 2133)的更多相关文章
- SDUT-2133_数据结构实验之栈与队列三:后缀式求值
		数据结构实验之栈与队列三:后缀式求值 Time Limit: 1000 ms Memory Limit: 65536 KiB Problem Description 对于一个基于二元运算符的后缀表示式 ... 
- 数据结构实验之栈与队列四:括号匹配(SDUT 2134)
		#include <bits/stdc++.h> using namespace std; typedef long long ll; char s[100]; char a[100]; ... 
- SDUT 2133 数据结构实验之栈三:后缀式求值
		数据结构实验之栈三:后缀式求值 Time Limit: 1000ms Memory limit: 65536K 有疑问?点这里^_^ 题目描述 对于一个基于二元运算符的后缀表示式(基本操作数都是 ... 
- SDUT-2132_数据结构实验之栈与队列二:一般算术表达式转换成后缀式
		数据结构实验之栈与队列二:一般算术表达式转换成后缀式 Time Limit: 1000 ms Memory Limit: 65536 KiB Problem Description 对于一个基于二元运 ... 
- SDUT-3334_数据结构实验之栈与队列七:出栈序列判定
		数据结构实验之栈与队列七:出栈序列判定 Time Limit: 30 ms Memory Limit: 1000 KiB Problem Description 给一个初始的入栈序列,其次序即为元素的 ... 
- SDUT-2088_数据结构实验之栈与队列十一:refresh的停车场
		数据结构实验之栈与队列十一:refresh的停车场 Time Limit: 1000 ms Memory Limit: 65536 KiB Problem Description refresh最近发 ... 
- SDUT-2449_数据结构实验之栈与队列十:走迷宫
		数据结构实验之栈与队列十:走迷宫 Time Limit: 1000 ms Memory Limit: 65536 KiB Problem Description 一个由n * m 个格子组成的迷宫,起 ... 
- SDUT-1479_数据结构实验之栈与队列九:行编辑器
		数据结构实验之栈与队列九:行编辑器 Time Limit: 1000 ms Memory Limit: 65536 KiB Problem Description 一个简单的行编辑程序的功能是:接受用 ... 
- SDUT-3335_数据结构实验之栈与队列八:栈的基本操作
		数据结构实验之栈与队列八:栈的基本操作 Time Limit: 1000 ms Memory Limit: 65536 KiB Problem Description 堆栈是一种基本的数据结构.堆栈具 ... 
随机推荐
- redis哈希表数据类型键的设置
			命令名称:hset 语法:hset key field value 功能: 1)将哈希表key中的域field的值设为value. 2)如果key不存在,一个新的哈希表被创建并进行hset操作. 3) ... 
- Warning: popen() has been disabled for security reasons in OS/Guess.php on line 241
			今天使用pecl install swoole命令编译安装swoole的时候提示:Warning: popen() has been disabled for security reasons in ... 
- substr函数索引创建测试
			技术群里小伙伴,沟通说一条经常查询的SQL缓慢,单表SQL一个列作为条件,列是int数值类型,索引类型默认创建. 一.SQL文本substr函数索引创建测试 ,) nm1 ')需求,将上述SQL执行速 ... 
- hdu 6143
			题意:有m种字符,要求构造两段长度为n的字符串,其中这两段不能有相同的字符 枚举左边选了i种字符,右边可以选1,2....min(n,m-i)种字符 这样就把问题转化为用k种字符构造n长度的字符串的种 ... 
- 轻松搭建CAS 5.x系列(4)-Java客户端程序接入CAS单点登录,Hello World版
			概述说明 按照本系列的前3篇文章描述的步骤,我们已经搭建好cas sso server.那应用程序怎么接入到实现sso呢? (如果您还没有搭建cas server,可以到<轻松搭建CAS 5.x ... 
- C# 高低位获取
			ushort Tbed = 2255; byte gao = (byte)(Tbed >> 8); byte di = (byte)(Tbed & 0xff); ushort a ... 
- Mysql、Navicat Premium 12连接
			1.配置MySQL80的环境 安装好MySQL,为MySQL配置环境变量.MySQL默认安装在C:\Program Files下. 1)新建MYSQL_HOME变量,并配置:C:\Program Fi ... 
- Asp.Net Core 轻松学系列-2从安装环境开始
			Asp.Net Core 介绍 Asp.Net Core是微软新一代的跨平台开发框架,基于 C# 语言进行开发,该框架的推出,意味着微软从系统层面正式进击 Linux 服务器平台:从更新速度开 ... 
- h5常见
			Meta基础知识: H5页面窗口自动调整到设备宽度,并禁止用户缩放页面//一.HTML页面结构<meta name="viewport" content="widt ... 
- Centos6.5 自带的Python2.6.6 如何安装setuptools和pip
			setuptools-36.7.1 [root@ ]# wget https://files.pythonhosted.org/packages/a9/23/720c7558ba6ad3e0f5ad0 ... 
