算术表达式求值 【问题描述】 表达式计算是实现程序设计语言的基本问题之一,也是栈的应用的一个典型例子.设计一个程序,演示符优先法对算术表达式求值的过程【基本要求】以字符序列
来源:学生作业帮助网 编辑:作业帮 时间:2024/06/23 21:32:12
![算术表达式求值 【问题描述】 表达式计算是实现程序设计语言的基本问题之一,也是栈的应用的一个典型例子.设计一个程序,演示符优先法对算术表达式求值的过程【基本要求】以字符序列](/uploads/image/z/22738-58-8.jpg?t=%E7%AE%97%E6%9C%AF%E8%A1%A8%E8%BE%BE%E5%BC%8F%E6%B1%82%E5%80%BC+%E3%80%90%E9%97%AE%E9%A2%98%E6%8F%8F%E8%BF%B0%E3%80%91+%E8%A1%A8%E8%BE%BE%E5%BC%8F%E8%AE%A1%E7%AE%97%E6%98%AF%E5%AE%9E%E7%8E%B0%E7%A8%8B%E5%BA%8F%E8%AE%BE%E8%AE%A1%E8%AF%AD%E8%A8%80%E7%9A%84%E5%9F%BA%E6%9C%AC%E9%97%AE%E9%A2%98%E4%B9%8B%E4%B8%80%2C%E4%B9%9F%E6%98%AF%E6%A0%88%E7%9A%84%E5%BA%94%E7%94%A8%E7%9A%84%E4%B8%80%E4%B8%AA%E5%85%B8%E5%9E%8B%E4%BE%8B%E5%AD%90.%E8%AE%BE%E8%AE%A1%E4%B8%80%E4%B8%AA%E7%A8%8B%E5%BA%8F%2C%E6%BC%94%E7%A4%BA%E7%AC%A6%E4%BC%98%E5%85%88%E6%B3%95%E5%AF%B9%E7%AE%97%E6%9C%AF%E8%A1%A8%E8%BE%BE%E5%BC%8F%E6%B1%82%E5%80%BC%E7%9A%84%E8%BF%87%E7%A8%8B%E3%80%90%E5%9F%BA%E6%9C%AC%E8%A6%81%E6%B1%82%E3%80%91%E4%BB%A5%E5%AD%97%E7%AC%A6%E5%BA%8F%E5%88%97)
算术表达式求值 【问题描述】 表达式计算是实现程序设计语言的基本问题之一,也是栈的应用的一个典型例子.设计一个程序,演示符优先法对算术表达式求值的过程【基本要求】以字符序列
算术表达式求值
【问题描述】
表达式计算是实现程序设计语言的基本问题之一,也是栈的应用的一个典型例子.设计一个程序,演示符优先法对算术表达式求值的过程
【基本要求】
以字符序列的形式从终端输入语法正确的,不含变量的整数表达式.利用教科书上给出的算符优先关系,实现对算术四则运算表达式的求值,并仿照教科书的例子演示在求值中运算符栈,运算数栈,输入字符和主要操作的变化过程
课程设计报告撰写要求及格式
4、 课程设计正文,包括
(1)问题描述
(2)需求分析:明确规定输入的形式和输出值范围,输出的形式,程序所能达到的功能
(3)概要设计:说明本程序中用到的所有抽象数据类型的定义,主程序流程及各程序模块的层次或调用关系
(4)详细设计:实现概要设计中定义的所有数据类型,对每个操作只需写出伪码算法
5、 用户说明:说明如何使用你编写的程序,详细列出每一步操作步骤
6、 课程设计总结(调试过程中遇到的问题及解决方案,系统存在的不足)
7、 参考文献
8、 附录(程序清单)
算术表达式求值 【问题描述】 表达式计算是实现程序设计语言的基本问题之一,也是栈的应用的一个典型例子.设计一个程序,演示符优先法对算术表达式求值的过程【基本要求】以字符序列
#include
#include
#include
#define error 0
#define ok 1
#define overflow -1
#define STACK_INIT_SIZE 100
#define STACKINCREMENT 10
#define OPSETSIZE 7
char OPSET[OPSETSIZE]={'+','-','*','/','(',')','#'};
unsigned char Prior[7][7] = { // 算符间的优先关系
'>','>','','>','','>','>','>','','>',
'>','>','>','>','','>',
'',' ','>','>',
'':// 退栈并将运算结果入栈
Pop(OPTR,theta);
Pop(OPND,b);
Pop(OPND,a);
Push(OPND,Operate(a,theta,b));
break;
} // switch
}
} // while
return GetTop(OPND);
} // EvaluateExpression
void main()
{
printf("请输入表达式(end #):\n");
printf("%f\n",EvaluateExpression());
}