zoukankan      html  css  js  c++  java
  • c++ 实现四则运算

    描述:读入一个只包含 +, -, *, / 的非负整数计算表达式,计算该表达式的值。

    输出:计算结果,保留两位小数。

    程序任务分为两部分:

    一。将输入的中缀表达式转换为后缀表达式,实现过程:

      1.准备队列保存后缀表达式(计算后缀表达式时,需要从队首读取数据)

        准备栈保存计算符,使用找调整计算顺序    

      2.读输入字符串,如果是数字,直接入后缀表达式队列;

        如果是计算符号,当计算符号栈为空或当前符号优先级大于栈顶符号优先级,直接入栈。否则依次弹出栈顶符号入后缀表达式队列,直到遇到优先级不小于当前的符号或栈空。

        如果是(直接入栈,如果是)弹出符号栈中符号入后缀表达式队列,直到((不入队)

      3.反复2过程直到读完所有字符串,若符号栈不为空,弹出其中所有元素入队

    二。计算后缀表达式:

      计算栈

      1.弹出队列元素,如果是数字,直接入栈,如果是操作符号,弹出栈顶两个数字计算。

    P.S.第一个弹出数字是第二个数字,第二个弹出数字是第一个数字。

        |temp1|   栈顶    temp2 - temp1  注意这一点,容易在减和除运算中出错

        |--------|

        |temp2|

        |--------|

  • 相关阅读:
    CentOS7下安装Docker-Compose
    USDT(omniCore)测试环境搭建
    Centos中iptables和firewall防火墙开启、关闭、查看状态、基本设置等
    Docker导入导出镜像
    Linux下安装GO语言环境
    linux 查看磁盘空间大小
    rsync+sersync多线程实时同步
    rsync+inotify实时同步
    rsync高级同步
    NFS服务器
  • 原文地址:https://www.cnblogs.com/a-cloud---/p/11483901.html
Copyright © 2011-2022 走看看