我要提问

给你一个字符串,如:
6 8*4-2/3 563*4...
全是正整数的加减乘除,
请计算出结果,可以使用任意语言和算法。
#笔试题目#
全部评论
eval 或者你用递归完成
点赞
送花
回复
分享
发布于 2019-08-19 20:12
可以用算符优先法,设两个栈,一个运算符,一个存操作数或者是运算结果。依次读入每个字符(注意位数大于一的数),如果是数字就进操作数栈,如果是运算符,先和当前运算符栈栈顶元素比较,如果比栈顶元素优先级高就入栈,否则用运算符栈顶元素和操作数栈的栈顶前两个元素进行运算,每次运算完运算结果压入操作数栈,直到当前代入栈运算符的优先级大于运算符栈顶元素
点赞
送花
回复
分享
发布于 2019-08-19 20:15
滴滴
校招火热招聘中
官网直投
中缀表达式转为后缀,然后按顺序计算就行
点赞
送花
回复
分享
发布于 2019-08-19 20:27
?能详细说下吗?没懂。多谢多谢
点赞
送花
回复
分享
发布于 2019-08-21 19:32

相关推荐

点赞 评论 收藏
转发
点赞 2 评论
分享
牛客网
牛客企业服务