后缀表达式换及求值.pptVIP

  • 20
  • 0
  • 约小于1千字
  • 约 11页
  • 2016-12-09 发布于贵州
  • 举报
后缀表达式换及求值

后缀表达式转换及求值 丁 鑫 dingxin@cis.pku.edu.cn 作业要求 实现一个将包含四则运算、括号的正整数表达式转换为后缀形式。 实现带括号的正整数的四则运算表达式的求值。要求能实现对多位整数进行处理的。 对错误格式的表达式进行判别并给出错误信息 示例 输入字符串:12 - 98*(78+3/2) 打印出后缀表达式 12,98,78,3,2,/,+,* , - 并算出正确结果 -7730 (注意:整数运算,3/2 =1 ) 后缀表达式栈中元素结构的设计: 后缀表达式: 12,98,78,3,2,/,+,* , - 算子: 12,98,78,3,2 运算符号: +,-,*,/,*, ( , ) 运算符优先关系矩阵 理解矩阵中函数返回值的含义 “#” ,程序中共出现两次, 输入字符串尾 运算符栈的栈底, “3”, 出现1次 “(”可以压栈, “)”从不压栈 从中缀表达式求得后缀式的规则 (1) 设立操作符栈 (2) 设表达式的结束符为“#”, 设运算符栈的栈底为“#”; 当程序的出口是字符串的“#”遇到“#”,计算结束 (3) 若当前字符串是个操作数 则直接发送给后缀式。 否则:若当前运算符的优先数高于栈顶运算符,则进栈; 否则:退出栈顶运算符发送给后缀式; goto

文档评论(0)

1亿VIP精品文档

相关文档