c中如何判断一个算术表达式是否合法并输出其结果
由键盘输入一个算术表达式,只包含0~9和+-#/(),判断其是否合法,中间无空格,#号结束
比如正确的有 45 4+5*3 (7+8)/4
错误的有 * /45 5+5)
我的思路是:首先判断左右括号数是否相同,然后判断该输入串的第一个字符是否为‘(’或者数字,再判断最后一个字符时候为‘)’或者数字,然后判定有没有符号相连的情况(指+-*/),最后判断数字个数是否比符号个数多一
我觉得很麻烦,有没有简单的方法?如何实现?
还有 如果判断其输入合法的话,想要输出计算的结果如何实现
谢谢了