掌握命題公式真值表的求解,並實現自動求解程式。
輸入:任意命題公式
輸出:該命題公式的真值表
要求:輸入任意命題公式,要求用資料儲存命題公式的所有賦值及對應真值,並輸出該公式真值表
此題,難度稍大,對命題公式的表示的方式不一樣,實現過程略有不同,可查詢相關資料。
**比較長,還需要細心**,有什麼意見還請大佬提出,謝謝!
主函式
#include #include int main()
else//1+0=1 不變
}else if(charval[j]=='0')else// 0+0
}} }
return 0;
}
取反,也就是非!
void qufan(char a)
} }b[j]='\0';//加上結束標誌
//printf("====%s",b);
//從高到低排序
for(i=0;ib[k+1])
} }return j;//不同的變元個數
}
將賦值情況代入命題公式中
void fillin(char a,char varchar,int nvar,char values,char resultchar)
resultchar[i]='\0';
for(i=0;i} }
}
構造命題公式的真值表 biaobiao88
對給出的任意乙個命題公式 不超過四個命題變元 使學生會用c語言的程式程式設計表示出來,並且能夠計算它在各組真值指派下所應有的真值,畫出其真值表。includeusing namespace std struct int q 4 m int main for int i 0 i 4 i cout p交...
命題邏輯之真值表
c語言版 亮點 1.qsort b,j,sizeof char cmp c語言標準庫函式 2.while 處理括號 處理否定 處理合取 可以消除運算子優先順序的問題,但是還是解決不了同級運算子的先後問題。如 p q r會變成p q r 3.模擬輾轉相除法給變元賦值 簡單明瞭,但是效率比不上位運算 i...
輸出命題公式的真值表 字尾表示式)
時限 1000ms 記憶體限制 10000k 總時限 3000ms 描述先輸入乙個正整數n n小於等於10 表示共有n個命題變元,再輸入乙個類似於逆波蘭表示式的字串表示乙個命題公式,約定在該字串中用一位的十進位制數表示乙個命題變元,用a o n i e分別表示且 或 非 蘊含 等值,用類似於逆波蘭表...