四则运算表达式求值基于栈实现
发布时间
阅读量:
阅读量
设计一个程序,要求用户从键盘输入算术表达式,并计算并输出其结果。该表达式可以包含加法、减法、乘法、除法运算,以及十进制整数和小括号,采用栈结构实现。
首先需要对两个栈的基本操作进行定义,包括创建、插入和删除等过程。
其中数据栈用于存储数值信息;操作符栈则用于保存运算符号。
#include <stdio.h>
#include <stdlib.h>
typedef int ElemType;
#define STACK_INIT_SIZE 100
#define STACKINCREMENT 10
typedef struct //定义数据栈(存放数据)
{ ElemType *base;
ElemType *top;
int stacksize;
}SqStack;
typedef struct //定义操作符栈
{ char *base;
char *top;
int stacksize;
}OpStack;
int InitStack(SqStack &s) //初始化数据栈
{ s.base=(ElemType *)malloc(STACK_INIT_SIZE*sizeof(ElemTy
全部评论 (0)
还没有任何评论哟~
