布尔表达式递归求值

描述
您要生成的程序的目标是评估布尔表达式,如下所示: 
表达式:(V | V)&F&(F | V)

其中V代表True,F代表False。表达式可能包括以下运算符:for not,&for and,| 对于或,也允许使用括号进行操作分组。

要执行表达式的评估,它将被视为运算符的优先级,不具有最高,最低或最低。程序必须产生V或F,作为输入文件中每个表达式的结果。
输入
表达式具有可变长度,但永远不会超过100个符号。符号可以由任意数量的空格分隔或根本不分隔空格,因此,表达式的总长度(如多个字符)是未知的。

输入文件中的表达式数量是可变的,绝不会大于20.每个表达式都以新行显示,如下所示。
输出
对于每个测试表达式,打印“表达式”,后跟其序列号“:”,以及相应测试表达式的结果值。使用新行分隔连续测试表达式的输出。

使用与下面显示的示例输出中显示的格式相同的格式。
样例输入
(V | V)&F&(F | V)
!V | V&V&!F&(F | V)&(!F | F |!V&V)
(F&F | V |!V&F&(F |!F&V))
样例输出
表达式1:F
表达式2:V
表达式3:V


UYOU
浏览 625回答 1
1回答

慕斯王

递归可以,用栈+循环也可以。你要把你的问题提出来,而不是直接伸手要程序。请show出你所付出的努力,并指出哪里不明白,就不明白的点来提问。
打开App,查看更多内容
随时随地看视频慕课网APP