永发信息网

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

答案:1  悬赏:80  手机版
解决时间 2021-04-30 16:18
判断合式公式的书写正确性,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
最佳答案

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


我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
大学毕业找不到工作,听说软件好就业,我应该
彩虹QQ为什么看不到隐身在线的好友了?
已知关于x的方程:x的平方加2k加1的和加k的平
脸上有豆豆可以做珍珠粉和蛋清还有薰衣草精油
烽火战国重甲将军
创建超级群需要什么条件?
qq等级那么高有什么用呢?
我的皇冠2.5车,在行驶过程中VSC及侧滑灯亮,
求杭州老大哥8月25日的那个片段
反恐精英高手进
中国电信甘洛分公司在哪里啊,我有事要去这个
我愛的人分開后变得没话和我说那我们的感情是
把高10厘米的圆柱切成若干等份,拼成一个近似
炫舞配置怎么样不卡?
请教大家:现在江浙两省部分国内企业被限电的
推荐资讯
请教天龙八部2游戏中一点潜能分别加多少属性
吴汉宫在什么地方啊,我要过去处理事情
现在火影动画主题曲叫什么?
中国烟草(榆阳专卖营销服务大厅)我想知道这个
喝酒能忘记以前的事吗?
已觉醒的刺客来!刺客觉醒厉害吗?该加多少?
变形金刚3在线观看 电影变形金刚3地球之战在
蓝蓝书屋我想知道这个在什么地方
河北省邢台市数学中考的趋势是什么?
寻这样的主题素材
新赛季NBA火箭阵容
小灵通艺术幼儿园我想知道这个在什么地方
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?