代码拉取完成,页面将自动刷新
语言:C++.
文件名:
calculator.h
这是一个可以计算字符串类型四则运算的函数。它将输入的字符串转换为一个中缀表达式并计算结果。
在代码中调用该函数,传入一个NumberType类型的变量和一个代表需要计算的字符串类型四则运算表达式的string类型变量。 如果输入合法,则操作数栈顶为结果,计算结果会存入传入的NumberType类型变量中。
该函数的实现过程可以分为以下几个步骤:
在该步骤中,程序会初始化运算符优先级列表和待处理数组。同时,程序会将左括号入栈,避免后续处理中栈为空的情况。
在该步骤中,程序会逐一处理字符串中的字符。
如果是数字字符,则程序会将整个数字部分录入操作数栈中。
如果是左括号,则直接入运算符栈中。
如果是右括号,则将栈中的运算符和操作数出栈,直到遇到左括号,并将化简后的结果入操作数栈中。
如果是运算符,则判断其与栈顶运算符的优先级,如果更高则入栈,否则将栈中的运算符和操作数出栈,直到栈顶运算符优先级低于当前运算符,并将化简后的结果入操作数栈中。
如果读到非法字符,则返回错误信息。
在该步骤中,程序会计算操作数栈中最终的结果。
请使用栈实现可含括号的算术表达式(加、减、乘、除)的求值(注意:运算数可为十进制的整数,该整数可为负数)
输入一个字符串,以'#'结束
如果输入正确,则输出一个整型数;否则输出"error!"
123+45*(67-7)-8/9
2823
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。