我想做一个计算器,代字符识别的,直接输入算式,程序自动输出结果,我想只通过数组实现,可能通过栈能实现,但现在只是想探究一下数组;
就是输入算式,如3+4*(23-3)+sin(3),就可以自动算出结果的,我的思路是这样的,首先定义一个数组,把算式
当成字符,然后分析数组,因为数组定义为字符之后,单个的数字也别看为一个字符,要把相邻的数字看为一个数,函数看一个数,
如:char suanshi[]="32+3244";
c语言会把算式记为: ‘3’‘2’‘+’‘3’'2' '4' '4' 等
我的意思是把'3' 和'2'重新定义为一个数;
在有,对于函数计算式,应该怎么做 如sin(90)
在重新定义数组之后,如新数组:'33' '+' '55' '-' '66'
先把33+55计算出结果,然后用结果替换'33' '+' '55',数组其他相顺次往前移动三项;
那位c高手能指点一下??
谢谢了
我想探究一下数组,能不能通过数组实现,
我想了一下,主要通过条件判断,和数据的移位来实现,不知道那为能有更好的建议?
字符自动识别计算器
答案:2 悬赏:0
解决时间 2021-12-14 11:46
- 提问者网友:你在我眼中是最帅
- 2021-12-14 03:08
最佳答案
- 二级知识专家网友:转身→时光静好
- 2021-12-14 04:29
用一个堆栈来做
)
3)
(3)
sin(3)====>S3
+S3
)+S3
(23-3)+S3
*20+S3
4*20+S3===>S4
+S4
3+S4==>result
)
3)
(3)
sin(3)====>S3
+S3
)+S3
(23-3)+S3
*20+S3
4*20+S3===>S4
+S4
3+S4==>result
全部回答
- 1楼网友:浪女动了心
- 2021-12-14 05:06
convert.todouble(console.readline()); 如果不输入数字的话应该会抛异常吧,你可以捕捉异常,然后打印句话,提示用户输入了非法的字符
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯