| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1174 人关注过本帖
标题:中缀表达式转后缀表达式c语言
只看楼主 加入收藏
甜脆的故事
Rank: 1
等 级:新手上路
帖 子:43
专家分:0
注 册:2013-3-20
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:19 
中缀表达式转后缀表达式c语言
大家给我讲讲思路就可以了 我之前写了一个  就是把整个式子都处理成字符串 问题就在于我这样就无法计算值了 例如 数字 1+16 已经被我处理成116+  我没法再计算了 问过老师 他说一个堆栈放 数字 用scanf接受数字 一个堆栈放运算符 我就觉得奇怪了  因为 在一个程序里面 同样一个 堆栈能被定义成既能处理字符又能处理数字的吗? 好像不可以吧?
搜索更多相关主题的帖子: 老师 c语言 表达式 字符串 
2013-04-08 22:19
邓士林
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:淮河河畔
等 级:贵宾
威 望:61
帖 子:2392
专家分:13384
注 册:2013-3-3
收藏
得分:5 
思路:
1、首先置换操作数栈为空栈,用于寄存运算符/
2、依次序读入表达式中的字符,按照一个特定的优先级进行入出栈的操作,基本思路就是这样

Maybe
2013-04-08 23:22
fanpengpeng
Rank: 8Rank: 8
来 自:南极洲
等 级:蝙蝠侠
威 望:7
帖 子:299
专家分:849
注 册:2013-2-1
收藏
得分:5 
堆栈是一个数据结构 先进后出的线性表
跟程序里说的堆栈不一样 那个是说的内存管理的概念 完全两码事
一个字符型的数组模拟的堆栈就是处理运算符的
一个整形或浮点型的数组就是处理操作数的
你程序中定义这样两个数组就行了 然后再编两个函数模拟堆栈操作 用作数组的接口

人生是一场错过 愿你别蹉跎
2013-04-09 00:07
甜脆的故事
Rank: 1
等 级:新手上路
帖 子:43
专家分:0
注 册:2013-3-20
收藏
得分:0 
回复 3楼 fanpengpeng
按照你的说法 我写的程序根本用不到堆栈把?  因为你说写两个数组 一个放操作数 一个放 运算符  那我可不可以定义一个普通的数组放操作数  用以个堆栈放运算符?
2013-04-09 10:57
fanpengpeng
Rank: 8Rank: 8
来 自:南极洲
等 级:蝙蝠侠
威 望:7
帖 子:299
专家分:849
注 册:2013-2-1
收藏
得分:0 
堆栈本来就是模拟的出来的 就跟链表一样 语言本身没有什么链表 用结构体模拟出来的而已

人生是一场错过 愿你别蹉跎
2013-04-09 12:16
甜脆的故事
Rank: 1
等 级:新手上路
帖 子:43
专家分:0
注 册:2013-3-20
收藏
得分:0 
回复 5楼 fanpengpeng
那我可不可以定义一个普通的数组放操作数  用以个堆栈放运算符?
2013-04-09 12:17
甜脆的故事
Rank: 1
等 级:新手上路
帖 子:43
专家分:0
注 册:2013-3-20
收藏
得分:0 
回复 5楼 fanpengpeng
而且我还想要能把值给算出来  这要怎么做
2013-04-09 12:18
fanpengpeng
Rank: 8Rank: 8
来 自:南极洲
等 级:蝙蝠侠
威 望:7
帖 子:299
专家分:849
注 册:2013-2-1
收藏
得分:0 
以下是引用甜脆的故事在2013-4-9 12:17:50的发言:

那我可不可以定义一个普通的数组放操作数  用以个堆栈放运算符?

你准备上哪儿弄来你要的这个堆栈?有什么好办法告诉我一下

人生是一场错过 愿你别蹉跎
2013-04-09 12:28
fanpengpeng
Rank: 8Rank: 8
来 自:南极洲
等 级:蝙蝠侠
威 望:7
帖 子:299
专家分:849
注 册:2013-2-1
收藏
得分:0 
以下是引用甜脆的故事在2013-4-9 12:18:38的发言:

而且我还想要能把值给算出来  这要怎么做

转换成后缀表达式之后 直接算 步骤 出栈 保存操作数 遇运算符计算 算完后 继续出栈 如此循环 直至栈空

人生是一场错过 愿你别蹉跎
2013-04-09 12:31
vshttp
Rank: 2
等 级:论坛游民
帖 子:22
专家分:75
注 册:2013-4-6
收藏
得分:5 
数组进栈就好了,如果进栈的是数字就进栈,如果是运算符就出栈,再与遇到的运算符进行计算
2013-04-09 12:33
快速回复:中缀表达式转后缀表达式c语言
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.038237 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved