zoukankan      html  css  js  c++  java
  • 计算表达式值

    试题描述

    后缀表达式是指运算符放在两个运算对象之后,所有计算按运算符出现的顺序,严格地从左到右进行。注意每个操作数之后都紧跟着一个“.”。
    如:3×(5-2)+7对应的后缀表达式为3.5.2.-*7.+。
    输入一个后缀表达式,求表达式的值。
    注意本题中只出现+、-、*三种运算符。

    输入
    一行,一个后缀表达式。
    输出
    一行,一个整数,表示后缀表达式的值。
    输入示例
    3.5.2.-*7.+
    输出示例
    16
    其他说明
    表达式长度不超过50,所有操作数的值以及所有中间运算结果以及最终结果的绝对值均不超过10^6。

    C程序:

    #include<cstdio>
    #include<cstdlib>
    #include<cmath>
    #include<iostream> 
    using namespace std;
    int st[51];
    int top;
    void push(int ch){top++;st[top]=ch;}
    void pop(){top--;}
    void clear(){top=0;}
    int main()
    {
        char s[51];
        cin>>s;
        int ch=0; 
        for(int i=0;i<strlen(s);i++)
        {
            if(s[i]=='.')
            {
                 push(ch);
                 ch=0;
            }
            else if(s[i]=='+')
            {
                int temp=st[top]+st[top-1];
                pop();pop();
                push(temp);
            }
            else if(s[i]=='-')
            {
                int temp=st[top-1]-st[top];
                pop();pop();
                push(temp);
            }
            else if(s[i]=='*')
            {
                int temp=st[top]*st[top-1];
                pop();pop();
                push(temp);
            }
            else ch=ch*10+(s[i]-'0');
        }
        printf("%d",st[top]);
        return 0;
    }
  • 相关阅读:
    程序员外包网站
    网络测试
    数据库系统在线网课
    字体
    正则表达式测试工具
    豆瓣Top250数据可视化
    前端模板
    豆瓣Top250电影爬取
    PyCharm激活码
    爬虫禁止访问解决方法(403)
  • 原文地址:https://www.cnblogs.com/WHYFRANK/p/4717696.html
Copyright © 2011-2022 走看看