读书人

[]请来帮个忙!

发布时间: 2012-03-16 16:34:56 作者: rapoo

[求助]请高手进来帮个忙!!~~~~~~~~~
我们老师最近要我们写一个程序,要求如下:输入一个命题公式,然后输出他的真值表!!!例如:
(p∧q)→q。。。然后输出的他的真值表!!!我想了很久都无从下手!!!希望哪位达人可以给个例子。。或是提点意见!!!!

[解决办法]
不记得什么是真值表了,想到一点,写给LZ:
int p,q;
char f;
scanf("%d%c%d",&p,&f,&q);
switch(f)
{
case '&' : printf("%d%c%d=%d",p,q,f,p&q);break;
//…
}
[解决办法]
假设命题(a&b)|c->d
所以你首先应该分析->左边的关系式。
左边的关系式是(a&b)|c,也可能比这个更复杂如(a|(b&d))^c。
你应该设计一个分析括号的算法,最里层括号中的表达式最先计算,而且应该做出错处理,
如果括号不配对的时候报错。
剩下的就是考虑参数的个数,每个参数可以是1,0。
然后就计算,最后就是输出了。

读书人网 >C语言

热点推荐