| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1318 人关注过本帖
标题:[求助]关于表达试的计算
取消只看楼主 加入收藏
mp3aaa
Rank: 5Rank: 5
等 级:贵宾
威 望:17
帖 子:2013
专家分:8
注 册:2006-2-15
结帖率:83.33%
收藏
 问题点数:0 回复次数:15 
[求助]关于表达试的计算

就是可以计算+ -* /()的计算器 但是要按照 运算守则来计算 比如说 先计算*/ 在算+ - …… …

[此贴子已经被作者于2006-10-9 21:43:09编辑过]

搜索更多相关主题的帖子: 表达 
2006-10-07 21:28
mp3aaa
Rank: 5Rank: 5
等 级:贵宾
威 望:17
帖 子:2013
专家分:8
注 册:2006-2-15
收藏
得分:0 
长度任意 比如
2+3

12+5*(2+3)*6/2-4

羊肉串 葡萄干 哈密瓜!!
2006-10-07 21:29
mp3aaa
Rank: 5Rank: 5
等 级:贵宾
威 望:17
帖 子:2013
专家分:8
注 册:2006-2-15
收藏
得分:0 
说说方法或思路就可以了

羊肉串 葡萄干 哈密瓜!!
2006-10-07 21:31
mp3aaa
Rank: 5Rank: 5
等 级:贵宾
威 望:17
帖 子:2013
专家分:8
注 册:2006-2-15
收藏
得分:0 
我看过了 就是提归嘛~ 我想那得用2个栈喽  一个放数的 一个放符号的?

羊肉串 葡萄干 哈密瓜!!
2006-10-07 22:18
mp3aaa
Rank: 5Rank: 5
等 级:贵宾
威 望:17
帖 子:2013
专家分:8
注 册:2006-2-15
收藏
得分:0 
恩 明天上课的时候 我在仔细想想 大体构个思

羊肉串 葡萄干 哈密瓜!!
2006-10-07 22:31
mp3aaa
Rank: 5Rank: 5
等 级:贵宾
威 望:17
帖 子:2013
专家分:8
注 册:2006-2-15
收藏
得分:0 
把 a*b-5 转换成后缀表达式 应该是ab*-吗?

羊肉串 葡萄干 哈密瓜!!
2006-10-09 21:42
mp3aaa
Rank: 5Rank: 5
等 级:贵宾
威 望:17
帖 子:2013
专家分:8
注 册:2006-2-15
收藏
得分:0 
以下是引用nuciewth在2006-10-7 22:14:39的发言:

将这些用做字符输入,再将中缀表达式转换为后缀表达式.(这里有数字字符转换为数的操作)
再利用栈就可以搞定了.
1.字符转数字
2.中缀转后缀
3.优先级的判断
4.进栈,出栈.

我还有个问题哦 你说的把着写用字符输入 那输入的字符应该是放在一个数组里吧 等用到运算符号计算的时候 符号怎么在转换过来呢? 符号在数组里 没发当运算符来用吧


羊肉串 葡萄干 哈密瓜!!
2006-10-09 21:51
mp3aaa
Rank: 5Rank: 5
等 级:贵宾
威 望:17
帖 子:2013
专家分:8
注 册:2006-2-15
收藏
得分:0 
以下是引用nuciewth在2006-10-9 22:00:35的发言:

a b * 5 - 操作符在操作数之后.

哦哦 对对 我刚刚又仔细的做了一边 是ab*5-
那在怎么出栈呢?

图片附件: 游客没有浏览图片的权限,请 登录注册

[此贴子已经被作者于2006-10-9 22:19:01编辑过]


羊肉串 葡萄干 哈密瓜!!
2006-10-09 22:14
mp3aaa
Rank: 5Rank: 5
等 级:贵宾
威 望:17
帖 子:2013
专家分:8
注 册:2006-2-15
收藏
得分:0 
以下是引用nuciewth在2006-10-9 22:06:56的发言:


遇到操作符就说明前面是一个数(注意处理最后一个数).把数直接压栈,操作符是不用转换的,直接做判断就可以了.还有操作符是不用压栈的,只在外部做判断,不进入栈中.


没看明白 我想的是 开始肯定是要求输入表达式的吧 应该是用gets(A) 吧? 把a*b-5都放到数组A中吧 ? 然后用中缀专后缀 然后在一边出栈一边计算 最后计算出结果来 。
可是运算符都是输入到数组A中了啊 运算符在数组中是没法用的啊?

羊肉串 葡萄干 哈密瓜!!
2006-10-09 22:29
mp3aaa
Rank: 5Rank: 5
等 级:贵宾
威 望:17
帖 子:2013
专家分:8
注 册:2006-2-15
收藏
得分:0 
以下是引用nuciewth在2006-10-9 22:24:51的发言:
将a b依次压栈之后遇到*就计算a*b(a,b出栈)把结果压栈,再把5压栈,遇到-,计算结果压栈.
每次都是这样.(注意括号内的表达式要先做.)

噢? 原来是边压栈边判断边计算啊!


恩 我明白了

[此贴子已经被作者于2006-10-9 22:41:00编辑过]


羊肉串 葡萄干 哈密瓜!!
2006-10-09 22:35
快速回复:[求助]关于表达试的计算
数据加载中...
 
   



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

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