資源描述:
《趙洪鑾《離散數(shù)學(xué)》實(shí)驗(yàn)一》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫(kù)。
1、實(shí)驗(yàn)一1?邏輯聯(lián)接詞的運(yùn)算從鍵盤(pán)輸入兩個(gè)命題變?cè)狿和Q的真值,輸出它們的合収、析収、條件、雙條件和P的否定的真值。#ineludemain()inta[3];inti=-l,j=-l;chars;歡迎進(jìn)入邏輯運(yùn)算軟件ttvprintf(H***************************************‘‘)?/吾printf("****");printf("**歡迎進(jìn)入邏輯運(yùn)算軟件**H);printf("****");printf(n***********
2、****************************n)?mm:printf("請(qǐng)輸入P的值(0或1),以回車結(jié)束:”);scanfC'%d“,&i);〃讀取P的值if(i==0
3、
4、j==l);//校驗(yàn)輸入的P值是否在允許范圍內(nèi),出錯(cuò)則重新輸入elseprintf(uP的值輸入有誤,請(qǐng)重新輸入”);gotomm;}nn:printf(n請(qǐng)輸入Q的值(0或2),以回車結(jié)束:“);scanf(”%d”,&j);〃讀取Q的值if(j==O
5、
6、j==l);//校驗(yàn)輸入的Q值是否在允許范圍內(nèi)
7、,出錯(cuò)則重新輸入elseprintfC、nq的值輸入有誤,請(qǐng)重新輸入“);gotonn;a[0冃&&j;〃與運(yùn)算a[l]=i
8、
9、j;//或運(yùn)算a[2]=(!i)
10、
11、j;〃蘊(yùn)含運(yùn)算,將其轉(zhuǎn)化為與或非形式a[4]=!i;//否定運(yùn)算printf("合?。簆rintf(h析取:printf(u條件:printf(H雙條件:a[3]=((!i)
12、
13、j)&&((!j)IH);//等值運(yùn)算,將其轉(zhuǎn)化為與或非形式PAQ=%d,,,a[0]);//輸出結(jié)果PVQ=%d,,,a[l]);
14、P->Q=%d,,/a[2]);P<->Q=%dH,a⑶);printfC否定:!P=%d,,/a[4]);bb:printf「是否繼續(xù)運(yùn)算?(y/n)“);//詢問(wèn)是否繼續(xù)操作scanf("%s”,&s);訐(s=='y,
15、
16、s==,n')if(s==V){//system(,,clsn);//清屏gotott;〃返回頂層}elsepnntf(H歡迎下次再次使用!”);//退出}else{printf("輸入錯(cuò)誤,請(qǐng)重新輸入”);〃錯(cuò)誤校驗(yàn)gotobb;}}〃運(yùn)算結(jié)果:請(qǐng)輸入P的
17、值(0或1),以冋車結(jié)束:1請(qǐng)輸入Q的值(0或1),以回車結(jié)束:0合取:叭Q=0析?。篜VQ=1條件:P->Q=0雙條件:P<->Q=0否定:!P=0是否繼續(xù)運(yùn)算?(y/n)2、任意一個(gè)命題公式的真值表#include#include#include#ineludevconio.h>#inelude#defineN50voidpanduan(intb[N]Jntf);〃賦值函數(shù)inttkh(charsz[N],charccu[N],
18、inticu[N],inth0);//分級(jí)運(yùn)算函數(shù)intfkh(charsz[N],charccu[N],inticu[N],inth0);//主運(yùn)算函數(shù)main()intil/i2/d=lJcu[N]/kh=0Jgj=0,h0;//icu[N]用于存放變量值,kh括號(hào)計(jì)數(shù),jg存放結(jié)果intbj=O,hq[N],h=O,x=O,xq[N];//hq[N]存放合取結(jié)果xq[N]存放析取結(jié)果charsz[N],ccu[N],szO[N],s;//sz[N]#放式子,ccu[N]存放變量,szO[N]也是用于
19、存放式子hq[O]=-l;xq[O]=-l;prin廿(“***************************************、n")?〃標(biāo)語(yǔ)printfC1**printfC'**歡迎進(jìn)入邏輯運(yùn)算軟件printf(H**(可運(yùn)算真值表,主范式,支持括號(hào))printf("**printf("**用!表示非printf(H**用&表示與printfC1**用
20、表示或printf(H**用八表示蘊(yùn)含printfC1**用~表示等值printfC1**prin^f(n*****************
21、**********************11)?printf("請(qǐng)輸入一個(gè)合法的命題公式:”);〃輸入式子gets(sz);//讀取式子strcpy(szO,sz);〃復(fù)制式子for(il=0;il='a,&&sz[il]<='z,11sz[il]>='A'&&sz[il]<='