标题:表达式求值问题(C语言数据结构栈实现)
取消只看楼主
遮天云
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:农村一小伙
等 级:贵宾
威 望:12
帖 子:1132
专家分:2671
注 册:2010-6-1
结帖率:100%
已结贴  问题点数:50 回复次数:4 
表达式求值问题(C语言数据结构栈实现)
在做这个程序时候遇到了一个问题,就是对于一个表达式怎么实现一次性输入要求的表达式,在输入完成后就直接输出正确结果,而不是一个字符一个字符的输入判断到底是不是运算符还是操作数,还有在一次行输入的时候定义怎样的数据类型能够输入成为大于字符‘9’的数字的,我刚开始定义的是char型,但是对于比如说输入24,验证结果则只是把2赋给了char型变量,怎么实现输入大于‘9’的操作数呢?以上是我写这个程序遇到的问题,想了很久,没解决,希望哪位给个好的思路,谢谢
搜索更多相关主题的帖子: 数据结构 C语言 求值 表达 
2010-11-18 20:47
遮天云
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:农村一小伙
等 级:贵宾
威 望:12
帖 子:1132
专家分:2671
注 册:2010-6-1
得分:0 
以下是引用御坂美琴在2010-11-19 08:33:47的发言:

楼主看编译原理吧,这些其实都是相当于输入一个字符串(gets/getline),然后你从字符串分析出哪里是数字,哪里是运算符,然后再开始计算
特别地,如果是浮点数1.2e-3这种形式,如果你打算支持浮点数的话,也是要考虑的

谢谢你,编译原理我们还没学呢~,但是具体怎么一次输入就可以扫描完成呢?,我不知道用什么方法,便输入编调用判断函数好像行不通
2010-11-19 11:34
遮天云
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:农村一小伙
等 级:贵宾
威 望:12
帖 子:1132
专家分:2671
注 册:2010-6-1
得分:0 
厚着脸皮自己顶起来
2010-11-19 23:11
遮天云
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:农村一小伙
等 级:贵宾
威 望:12
帖 子:1132
专家分:2671
注 册:2010-6-1
得分:0 
以下是引用天下人在2010-11-20 10:26:35的发言:

再加一条判断语句,如果一个数字后还是数字,就把上一个弹出乘10加上刚判断的值,再压进去

谢谢你,这倒是个好办法,但是怎么实现一次性输入呢
2010-11-20 10:32
遮天云
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:农村一小伙
等 级:贵宾
威 望:12
帖 子:1132
专家分:2671
注 册:2010-6-1
得分:0 
回复 13楼 outsider_scu
谢谢你哈,我把他融入堆栈看看
2010-11-23 11:51



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-326169-1-1.html




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

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