计算器分两步实现: 1。将常规表达式(中缀表达式)处理成后缀表达式。 2。计算后缀表达式。 第一步: 中缀如:1+(2*3)-4/2,转化为后缀123*+42/- 。 规则:从左往右遍历中缀表达式,如果是数字,就直接拿出来,如果是符号,那么判断优先级,如果当前符号(包括右括号)的优先级不大于栈顶符号
分类:
编程语言 时间:
2016-03-18 17:52:26
阅读次数:
171
基本思想:使用getline函数从TXT文件中依次读出中缀表达式,将其转为后缀表达式后计算结果,并与用户结果比对。 整数、分数、小数的处理:将小数和整数都视为默认分母为1的分数.建立分数类,在中缀转换成后缀时将整数和小数转换为分数. 关于求最大公约数所使用的辗转相除法在上一篇博文中已经写过。为了之后
分类:
其他好文 时间:
2016-03-13 22:25:48
阅读次数:
236
计算四则运算表达式主要是分两步运算 第一步是把 中缀表达式 转换成 后缀表达式。参考大一下期学的 《数据结构与算法分析--C语言描述》3.3.3 教材,完成下列代码: static String mid_to_suf(String str){ Stack<Character> s = new Sta
分类:
编程语言 时间:
2016-03-06 23:28:57
阅读次数:
210
本次个人程序设计要求做一个带有计算功能的程序,而要计算就离不开表达式,按照一般人的习惯,中缀表达式是一个非常常用的方式。但是,对于我们程序员来说,直接计算中缀表达式并不是那么方便,因此,通常来说我们会将中缀表达式进行转换。 不论是转成前缀表达式还是后缀表达式,通过树进行转换都是可以实现的,同时,一棵
分类:
其他好文 时间:
2016-03-06 01:06:11
阅读次数:
183
1 #include<stdio.h> 2 #include<stdlib.h> 3 4 #define OK 1 5 #define ERROR 0 6 #define STACK_INIT_SIZE 20 7 #define STACK_INCREMENT 10 8 9 typedef char
分类:
其他好文 时间:
2016-02-28 12:18:56
阅读次数:
174
下载地址:http://pan.baidu.com/s/1i4pMZ9z密码:v9ra算法分析与设计Java版,是一套实用型算法课程。通过本课程的学习,学员可以掌握以下技术点:线性结构与顺序表、单向链表、循环链表、栈的基本概念、链式堆栈、中缀表达式、队列、链式队列、串、MyString、Brute-Force算法、..
分类:
编程语言 时间:
2016-01-21 12:19:03
阅读次数:
219
我们把平时所用的标准四则运算表达式,即“9+(3-1)*3+10/2"叫做中缀表达式。因为所有的运算符号都在两数字的中间,现在我们的问题就是中缀到后缀的转化。中缀表达式“9+(3-1)*3+10/2”转化为后缀表达式“9 3 1-3*+ 10 2/+”规则:从左到右遍历中缀表达式的每个数字和符号,若...
分类:
其他好文 时间:
2016-01-09 10:55:12
阅读次数:
143
栈在暑假的时候接触过了,当时还写了个计算器,用的中缀表达式后缀表达式的栈操作。 http://www.cnblogs.com/itlqs/p/4749998.html 今天按照算法导论上的讲解规范了一下代码。主要是栈的初始化、判断空栈、入栈、出栈、遍历栈。#include#define MA...
分类:
编程语言 时间:
2016-01-08 23:33:00
阅读次数:
222
最近学习了栈,为了巩固知识,照着书实现了一个有关于栈的应用的例子:将中缀表达式转化为后缀表达式。这里先来明白什么是中缀表达式:我们正常使用的算式,如a + b * c 就是一个中缀表达式。中缀表达式的特点就是运算符在中间。后缀表达式就是 运算符在后面,像上面的式子如果转化为后缀表达式就为 a b *...
分类:
其他好文 时间:
2015-12-03 00:39:49
阅读次数:
186
35,15,+,80,70,-,*,20,/ //后缀表达方式(((35+15)*(80-70))/20)=25 //中缀表达方式 /,*,+,35,15,-,80,70, 20 //前缀...
分类:
其他好文 时间:
2015-11-30 22:15:51
阅读次数:
230