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 }
    ——每当你想要放弃的时候,就想想是为了什么才一路坚持到现在。
  • 相关阅读:
    公钥基础设施PKI 简介
    密码库LibTomcrypt的内容介绍及分析
    trace
    winform(C#)拖拽实现获得文件路径
    无线网络技术
    设备控制选项的部分列表
    dll #pragma data_seg注意事项
    RFC
    奥运火炬传递路线
    WMIC命令大全
  • 原文地址:https://www.cnblogs.com/Shy-key/p/6365945.html
Copyright © 2011-2022 走看看