永发信息网

判断合式公式的书写正确性,C语言编程

答案:1  悬赏:80  手机版
解决时间 2021-04-30 16:18
  • 提问者网友:绫月
  • 2021-04-30 12:50
判断合式公式的书写正确性,C语言编程
我考虑了两个方向:一是左右括号的数量相等;二是在每一种字符后面应该跟进的字符
如:在字母后面只能跟运算符、右括号;
在运算符后面只能跟左括号、字母、非;
在非后面只能跟字母、左括号;
在左括号后面只能跟左括号、字母、非;
在右括号后面只能跟运算符、右括号.
代码如下:
#include
void main()
{
int i=0,j=0,k=0,l=0,m=0,n=0,sum=0;
char str[100];
scanf(%s,&str);
do
{
\x05sum++;
\x05if((str[i+1]!='(')||(str[i+1]'Z')||(str[i+1]!='*'))
break;
i++;\x05\x05\x05
}while(i
最佳答案
  • 五星知识达人网友:独钓一江月
  • 2021-04-30 14:01

你这题应该采用递归+分治法比较容易实现.思路就是应用合式公式的定义进行判断.对具体思路可如下:
对给定的一个公式X进行判断,先根据括号的层次进行分解.
1,X是只含一个运算符的公式,判断并返回它的合法性.
2,否则可以将其进行分解,形式为X=X1⊙X2,或者X=~X1,其中⊙是一个二元运算符,是非运算符.接下来递归判断X1 X2是否为合式公式.


我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯