实验二表达式求值.zip

上传者: 44752836 | 上传时间: 2021-12-17 13:08:23 | 文件大小: 901KB | 文件类型: ZIP
输入一个算术表达式(以“=”结束),求其值。要求表达式以“=”结束,操作数为多位实数,对错误表达式要进行检测。 1.设置两个栈:optr算符栈和opnd操作数栈。初始置opnd为空栈;起始符“=”为optr的栈底元素; 2.自左向右扫描表达式中的每个字符c: 1)若c为操作数,则进opnd栈; 2)若c为算符,则让optr栈的栈顶元素与c比较优先级: a.若栈顶算符优先级低于刚读入的运算符c,则让刚读入的运算符c进optr栈。 b.若栈顶算符优先级高于刚读入的运算符c,则将栈顶算符退栈,送入;同时将操作数栈opnd退栈两次,得到两个操作数b、a,对a、b进行ab运算后,将运算结果作为中间结果推入opnd栈。 c.若栈顶运算符的优先级与刚读入的运算符c相同,说明左右括号相遇,只需将栈顶运算符(左括号)退栈即可。 3.直到扫描到c为定界符,即optr栈的栈顶元素和当前读入的字符均为“=”,则整个表达式求值完毕。

文件下载

评论信息

免责申明

【只为小站】的资源来自网友分享,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,【只为小站】 无法对用户传输的作品、信息、内容的权属或合法性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论 【只为小站】 经营者是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。
本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二条之规定,若资源存在侵权或相关问题请联系本站客服人员,zhiweidada#qq.com,请把#换成@,本站将给予最大的支持与配合,做到及时反馈和处理。关于更多版权及免责申明参见 版权及免责申明