C语言实现逻辑联结词:真值表生成及命题公式类型判断
#include <stdio.h>
// 逻辑非 int logic_not(int p) { return !p; }
// 逻辑与 int logic_and(int p, int q) { return p && q; }
// 逻辑或 int logic_or(int p, int q) { return p || q; }
// 逻辑异或 int logic_xor(int p, int q) { return (p && !q) || (!p && q); }
// 逻辑蕴含 int logic_implies(int p, int q) { return !p || q; }
int main() { int p, q, r; printf("请输入三个命题变元的真值(0或1):\n"); scanf("%d %d %d", &p, &q, &r);
printf("命题公式真值表:\n");
printf("p q r | NOT AND OR XOR IMPLIES\n");
int result_not = logic_not(p);
int result_and = logic_and(p, q);
int result_or = logic_or(p, q);
int result_xor = logic_xor(p, q);
int result_implies = logic_implies(p, q);
printf("%d %d %d | %d %d %d %d %d\n", p, q, r, result_not, result_and, result_or, result_xor, result_implies);
return 0;
}
原文地址: https://www.cveoy.top/t/topic/rRI 著作权归作者所有。请勿转载和采集!