zoukankan      html  css  js  c++  java
  • 后缀表达式

    所谓后缀表达式是指这样的一个表达式:式中不再引用括号,运算符号放在两个运算对象之后,所有计算按运算符号出现的顺序,严格地由左而右新进行(不用考虑运算符的优先级)。

    如:3*(5–2)+7对应的后缀表达式为:3.5.2.-*7.+@。’@’为表达式的结束符号。‘.’为操作数的结束符号。

    输入格式:

    输入:后缀表达式

    输出格式:

    输出:表达式的值

    输入样例#1:
    3.5.2.-*7.+@
    输出样例#1:
    16


     1 #include<iostream>
     2 #include<cstdio>
     3 #include<algorithm>
     4 #include<cstring>
     5 
     6 using namespace std;
     7 
     8 char s[1000+15];
     9 int stack[10000+15];
    10 int top,x,i;
    11 
    12 int ys(char s[1000+15])
    13 {
    14     while(i<strlen(s)-1)
    15     {
    16         switch(s[i])
    17         {
    18             case '+' :stack[--top]+=stack[top+1]; break;
    19             case '-' :stack[--top]-=stack[top+1]; break;
    20             case '*' :stack[--top]*=stack[top+1]; break;
    21             case '/' :stack[--top]/=stack[top+1]; break;
    22             default:
    23             x=0;
    24             while(s[i]!='.')
    25             x=x*10+s[i++]-'0';
    26             stack[++top]=x; 
    27             break;
    28         }
    29         i++;
    30     }
    31     return stack[top];
    32 }
    33 
    34 int main()
    35 {
    36     gets(s);
    37     cout<<ys(s);
    38     cout<<endl;
    39     return 0;
    40 }
    ——每当你想要放弃的时候,就想想是为了什么才一路坚持到现在。
  • 相关阅读:
    操作标签的属性和属性值 table表格
    dom基本获取 标签文本操作
    延时器 清除延时器
    倒计时
    电子时钟
    时间戳
    设定时间的方法
    内置对象Date
    对象的基本特点
    终于有人把云计算、大数据和 AI 讲明白了【深度好文】
  • 原文地址:https://www.cnblogs.com/Shy-key/p/6365945.html
Copyright © 2011-2022 走看看