实现四则运算!!! 支持的运算包括:加法(+或+),减法(-或-),乘法(*或×),除法(/),幂运算(^),阶乘(!或!)。 可以是长表达式,如(3+2)*4+2^3+5!-6/3+3.21*6/4=
2022-01-08 14:26:24 225KB c\c++ 编程
1
表达式计算是实现程序设计语言的基本问题之一,也是栈的应用的一个典型例子。设计一个程序,演示用算符优先法对算术表达式求值的过程。 基本要求:以字符序列的形式从终端输入语法正确的、不含变量的整数表达式。利用教科书表3.1给出的算符优先关系,实现对算术四则混合运算表达式的求值,并仿照教科书的例3-1演示在求值中运算符栈、运算数栈、输入字符和主要操作的变化过程。 测试数据:3*(7-2);8;1+2+3+4;(((6+6)*6+3)*2+6)*2;(20+2)*(6/2);
2021-12-17 19:42:16 11KB 算术表达式
1
完整课程设计(部分代码): /* Note:Your choice is C IDE */ #define STACK_INIT_SIZE 100 /*栈的存储空间初始分配量*/ #define MAX 100 /*字符存储空间分配量*/ #define DEBUG #define NULL 0 #define TURE 1 #define ERROR -1 #define STACKSIZE 20 typedef int Status; typedef int SElemType; //元素类型 /* 定义字符类型栈 */ typedef struct{ char stackname[20]; char *base; char *top; } Stack; /* ----------------- 全局变量--------------- */ Stack OPTR, OPND; /* 定义前个运算符栈,后个操作数栈 */ char expr[255] = ""; /* 存放表达式串 */ char *ptr = expr; int step = 0; /* 计算的步次 */ int InitStack(Stack *s, char *name) { s->base=(char *)malloc(STACKSIZE*sizeof(char)); if(!s->base) exit (ERROR); strcpy(s->stackname, name); s->top=s->base; return 1; }
2021-11-22 21:36:23 734KB 课程设计 算术表达式求值 数据结构
1
数据结构的算术表达式求值演示 源代码。 数据结构的算术表达式求值演示 源代码。
2021-11-20 21:47:22 37KB VC C++ 算术表达式求值演示 源代码
1
1、问题描述:(需求分析和背景意义) 表达式计算是实现程序设计语言的基本问题之一,也是栈的应用的一个典型的例子。设计一个程序,演示用算符优先法对算术表达式求值的过程。 2、基本要求:(设计阶段,概要设计和详细设计) 以字符序列的形式从终端输入语法正确的、不含变量的整数表达式。利用教科书表3.1给出的算符优先关系,实现对算术四则混合运算表达式的求值,并仿照教科书上的例3-1演示在求值中运算符栈、运算数栈、输入字符和主要操作的变化过程。 3、测试数据: 教科书例3-1的算术表达式3*(7-2),以及下列表达式 8; 1+2+3+4; 88-1*5;1024/4*8; 1024/(4*8); (20+2)*(6/2);3-3-3; 8/(9-9); 2*(6+2*(3+6*(6+6)));(((6+6)*6+3)*2+6)*2; 4、实现提示: (1) 设置运算符栈和运算数栈辅助分析算符优先关系。 (2) 在读入表达式的字符序列的同时,完成运算符和运算数(整数)的识别处理,以及相应的运算。(3)在识别出运算数的同时,要将其字符序列形式转化成整数形式。 (4)在程序的适当位置输出运算符栈、运算数栈、输入字符和主要操作的内容。
2021-04-15 23:58:34 1.61MB 算术表达式
1