编程内容及要求:
编写程序,打印输出9种基本逻辑运算符(与、或、非、条件、双条件、异或、与非、或非、条件否定)的运算表到字符文件logic.txt中。
编程语言可选择C、C++、Java或Python。
逻辑运算表输出格式示例:
------------------文章来源:https://www.toymoban.com/news/detail-420131.html
P Q 条件否定
------------------
T T F
T F T
F T F
F F F
------------------
输出的字符文件logic.txt内容(粘贴):
------------------
P Q 与运算
------------------
F F F
F T F
T F F
T T T
------------------
------------------
P Q 或运算
------------------
F F F
F T T
T F T
T T T
------------------
------------------
P 非运算
------------------
F T
T F
------------------
------------------
P Q 条件运算
------------------
F F T
F T T
T F F
T T T
------------------
------------------
P Q 双条件运算
------------------
F F T
F T F
T F F
T T T
------------------
------------------
P Q 异或运算
------------------
F F F
F T T
T F T
T T F
------------------
------------------
P Q 与非运算
------------------
F F T
F T T
T F T
T T F
------------------
------------------
P Q 或非运算
------------------
F F T
F T F
T F F
T T F
------------------
------------------
P Q 条件否定运算
------------------
F F F
F T F
T F T
T T F
------------------
源程序代码:文章来源地址https://www.toymoban.com/news/detail-420131.html
#include <stdio.h>
int main()
{
FILE *fp;
fp = fopen("logic.txt", "w"); // 打开文件
if (fp == NULL) { // 文件打开失败
printf("文件打开失败!\n");
return 1;
}
// 输出与运算表
fprintf(fp, "------------------\n");
fprintf(fp, " P Q 与运算\n");
fprintf(fp, "------------------\n");
for (int p = 0; p <= 1; p++) {
for (int q = 0; q <= 1; q++) {
int result = p && q;
char ch_1=p ?'T':'F';
char ch_2=q ?'T':'F';
char ch_3=result ?'T':'F';
fprintf(fp, " %c %c %c\n", ch_1, ch_2, ch_3);
}
}
fprintf(fp, "------------------\n\n");
// 输出或运算表
fprintf(fp, "------------------\n");
fprintf(fp, " P Q 或运算\n");
fprintf(fp, "------------------\n");
for (int p = 0; p <= 1; p++) {
for (int q = 0; q <= 1; q++) {
int result = p || q;
char ch_1=p ?'T':'F';
char ch_2=q ?'T':'F';
char ch_3=result ?'T':'F';
fprintf(fp, " %c %c %c\n", ch_1, ch_2, ch_3);
}
}
fprintf(fp, "------------------\n\n");
// 输出非运算表
fprintf(fp, "------------------\n");
fprintf(fp, " P 非运算\n");
fprintf(fp, "------------------\n");
for (int p = 0; p <= 1; p++) {
int result = !p;
char ch_1=p ?'T':'F';
char ch_3=result ?'T':'F';
fprintf(fp, " %c %c\n", ch_1, ch_3);
}
fprintf(fp, "------------------\n\n");
// 输出条件运算表
fprintf(fp, "------------------\n");
fprintf(fp, " P Q 条件运算\n");
fprintf(fp, "------------------\n");
for (int p = 0; p <= 1; p++) {
for (int q = 0; q <= 1; q++) {
int result = p ? q : 1;
char ch_1=p ?'T':'F';
char ch_2=q ?'T':'F';
char ch_3=result ?'T':'F';
fprintf(fp, " %c %c %c\n", ch_1, ch_2, ch_3);
}
}
fprintf(fp, "------------------\n\n");
// 输出双条件运算表
fprintf(fp, "------------------\n");
fprintf(fp, " P Q 双条件运算\n");
fprintf(fp, "------------------\n");
for (int p = 0; p <= 1; p++) {
for (int q = 0; q <= 1; q++) {
int result = (p && q) || (!p && !q);
char ch_1=p ?'T':'F';
char ch_2=q ?'T':'F';
char ch_3=result ?'T':'F';
fprintf(fp, " %c %c %c\n", ch_1, ch_2, ch_3);
}
}
fprintf(fp, "------------------\n\n");
// 输出异或运算表
fprintf(fp, "------------------\n");
fprintf(fp, " P Q 异或运算\n");
fprintf(fp, "------------------\n");
for (int p = 0; p <= 1; p++) {
for (int q = 0; q <= 1; q++) {
int result = p ^ q;
char ch_1=p ?'T':'F';
char ch_2=q ?'T':'F';
char ch_3=result ?'T':'F';
fprintf(fp, " %c %c %c\n", ch_1, ch_2, ch_3);
}
}
fprintf(fp, "------------------\n\n");
// 输出与非运算表
fprintf(fp, "------------------\n");
fprintf(fp, " P Q 与非运算\n");
fprintf(fp, "------------------\n");
for (int p = 0; p <= 1; p++) {
for (int q = 0; q <= 1; q++) {
int result = !(p && q);
char ch_1=p ?'T':'F';
char ch_2=q ?'T':'F';
char ch_3=result ?'T':'F';
fprintf(fp, " %c %c %c\n", ch_1, ch_2, ch_3);
}
}
fprintf(fp, "------------------\n\n");
// 输出或非运算表
fprintf(fp, "------------------\n");
fprintf(fp, " P Q 或非运算\n");
fprintf(fp, "------------------\n");
for (int p = 0; p <= 1; p++) {
for (int q = 0; q <= 1; q++) {
int result = !(p || q);
char ch_1=p ?'T':'F';
char ch_2=q ?'T':'F';
char ch_3=result ?'T':'F';
fprintf(fp, " %c %c %c\n", ch_1, ch_2, ch_3);
}
}
fprintf(fp, "------------------\n\n");
// 输出条件否定运算表
fprintf(fp, "------------------\n");
fprintf(fp, " P Q 条件否定运算\n");
fprintf(fp, "------------------\n");
for (int p = 0; p <= 1; p++) {
for (int q = 0; q <= 1; q++) {
int result = !(p ? q : 1);
char ch_1=p ?'T':'F';
char ch_2=q ?'T':'F';
char ch_3=result ?'T':'F';
fprintf(fp, " %c %c %c\n", ch_1, ch_2, ch_3);
}
}
fprintf(fp, "------------------\n\n");
fclose(fp); // 关闭文件
printf("逻辑运算表已输出到文件 logic.txt 中!\n");
return 0;
}
到了这里,关于离散数学编程作业--打印输出逻辑运算表的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!