java实现逆波兰计算器,输入中缀表达式可以得到后缀表达式,并且计算这个后缀表达式的值, 且输入的表达式只要正确即可运行
2022-02-16 09:05:50 3KB java
1
MFC用逆波兰表达式算法实现计算器的加、减、乘、除等功能,把计算器完全封装在CMyCalculator类中,并具有很好的扩展性和可移植性。数据类型是CString,并用Vector对数据进行入栈、出栈等操作。
2022-01-22 09:59:52 2.58MB MFC
1
数据结构课程设计简易运算器 #include #include #include #include #include #include using namespace std; char str[50]; //用于存放原来的表达式 int top; //栈顶指针 char stack[50]; //定义栈,用于计算逆波兰式 char ex[50]; //存放后缀表达式 double _stack[50]; //定义栈,用于计算逆波兰式子 int flag[50]; //用于区分+、-号的含义,0表示运算符,1表示正负号 //生成逆波兰式 void NiBolan() { memset(flag,0,sizeof(flag)); //flag初始值设为0 char ch=str[0]; int i=1,t=0; top=0; while(ch!='#') { switch(ch) { case '(': top++; stack[top]=ch; break; case ')': while(stack[top]!='(') { ex[t]=stack[top]; top--; t++; } top--; break; case '^': while(stack[top]=='^') //设置^运算符优先级为最高 { ex[t]=stack[top]; top--; t++; } top++; stack[top]=ch; break; case '+': case '-': //当ch为+、-号是,若前面相邻字符不是')'或数字且后面相邻字符是数字时表示正负号 if(isdigit(str[i]) && !isdigit(str[i-2]) && str[i-2]!=')') { flag[t]=1; //标记符号为正负号 ex[t++]=ch; ch=str[i++]; while((ch>='0'&&ch;='0'&&ch;='0'&&ch;='0'&&ch;='0'&&ch;='0'&&ch;='0'&&ch;='0'&&ch;<='9') { d=d+double(ch-'0')/(10.0*k); k=k+1.0; ch=ex[++t]; } } top++; _stack[top]=d; } ch=ex[t]; } cout<<"计算出的结果:"<<_stack[top]<逆波兰式 Calculate(); //计算逆波兰式 return 0; }
2021-12-19 23:26:20 8KB 数据结构
1
本代码是实现对一个运算式进行后序排列·也就是所谓的逆波兰式排序····
2021-12-13 11:53:32 4KB C语言 逆波兰
1
基于Java实现的表达式计算器,包含链表、队列、栈数据结构的运用和波兰表达式等算法的应用。使用面向对象的设计将代码封装好,直接调用使用
1
逆波兰式的翻译和计算。编译原理的实验报告,有利于新手对于逆波兰的基础理解。文件中给出了具体的代码和理解,还有结果截图显示。采用C语言编写,简单易懂。就一个实验报告!!
2021-11-22 14:57:11 99KB 逆波兰式 编译原理
1
逆波兰式完整代码计算器,带注释可直接运行VS2013,测试数据"1.0+3/2-tan(45)/(1+1)",
2021-11-20 21:06:52 108KB 逆波兰式
1
实现符号 + - * / max min (),输出逆波兰式和结果,输入为整数,输出为整数,其中max/min表达式为max(2,4)。表达式总会得出有效数值且不存在除数为 0 的情况
2021-11-13 15:38:59 3KB 后缀表达式 逆波兰式
1
本人自己写的程序,绝对通过测试的(这就是我课程设计的题目).输入表达式时每个字符间用空格格开,最后用#结束输入 显示结果时先显示所转化成的逆波兰式,然后是结果
2021-11-12 19:11:06 911KB 表达式值计算 逆波兰式
1
该工程是使用C语言在devc++平台上实现的逆波兰式计算器,需要用到dev打开,如果用vs需要自己设置头文件
2021-10-30 16:16:58 259KB C 计算器
1