资源描述:
《利用真值表法求取主析取范式以及主合取范式地实现-副本.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、实用文档#include"stdio.h"#include"stdlib.h"#include"string.h"#include"math.h"#defineN50voidpd(intb[N],intf);intH1(charT1[N],charT2[N],intT3[N],inty);intH2(charT1[N],charT2[N],intT3[N],inty);intmain(){inti1,i2,d=1,T3[N],kh=0,jg,j=0,y;intw=0,hequ[N],h=0,x=0,xiqu[N];charT1[N],T2[N],T10[N],s;hequ[0
2、]=-1;xiqu[0]=-1;printf("#########################################");printf("##用!表示否定##");printf("##用&表示合取##");printf("##用
3、表示析取##");printf("##用^表示条件##");printf("##用~表示双条件##");printf("#########################################");实用文档printf("请输入一个合法的命题公式:");gets(T1);strcpy(T10
4、,T1);for(i1=0;i15、
6、T1[i1]=='(')kh++;if(T1[i1]>='a'&&T1[i1]<='z'
7、
8、T1[i1]>='A'&&T1[i1]<='Z'){for(i2=0;i29、"");for(i1=0;i110、0;i20)printf("/\");printf("M(%d)",hequ[i1]);}}if(xiqu[0]==-1)实用文档printf("该命题公式不存在主析取范式。");else{printf("主析取范式:t");for(i1=0;i111、f(i1>0)printf("\/");printf("m(%d)",xiqu[i1]);}}printf("");getch();}voidpd(intb[N],intf){inti;i=f;if(b[f]==0)b[f]=1;else{实用文档b[f]=0;pd(b,--i);}}intH1(charT1[N],charT2[N],intT3[N],inty){inti,j,h,s,kh=0,wz[N],a;charxs1[N],ckh[N];s=strlen(T1);for(i=0;i
12、
13、T1[i]==')'){wz[kh]
14、=i;ckh[kh]=T1[i];kh++;}if(kh==0)returnH2(T1,T2,T3,y);else{for(i=0;i