C/C++ 生成包含三个变量和两个逻辑连接词的真值表

2023-10-08 23:10

本文主要是介绍C/C++ 生成包含三个变量和两个逻辑连接词的真值表,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

推荐阅读:Python基础自学实用笔记(总和篇)-By Ryan_3610

2、题目:生成包含三个变量和两个逻辑连接词的真值表

2.1代码

#include <iostream>
#include <stdio.h>
using namespace std;
//打印表头
void printtitle(char a,char b,char c,int one,int two)
{printf("%c    %c    %c     %c",a,b,c,a);switch(one){case 0:printf("~%c",b);break;case 1:printf("^%c",b);break;case 2:printf("\\/%c",b);break;case 3:printf("->%c",b);break;case 4:printf("<->%c",b);break;}switch(two){case 0:printf("~%c\n",c);break;case 1:printf("^%c\n",c);break;case 2:printf("\\/%c\n",c);break;case 3:printf("->%c\n",c);break;case 4:printf("<->%c\n",c);break;}
}
//真值运算
int yunsuan(int p,int q,int connective)
{if(connective==1){return p*q;}else if(connective==2){return ((p+q)/2+(p+q)%2);}else if(connective==3){if(p==0)return 1;else{if(q==1)return 1;elsereturn 0;}}else if(connective==4){if(p==q)return 1;elsereturn 0;}
}int main()
{
//输入char a,b,c;int m,n;cout<<"逻辑联结词选择:“非”请输入0,“与”请输入1,“或”请输入2,“蕴涵”请输入3,“双向蕴涵”请输入4!"<<endl;cout<<"输入第1个变量:";         cin>>a;cout<<"输入第一个逻辑连接词:";  cin>>m;cout<<"输入第2个变量:";         cin>>b;cout<<"输入第二个逻辑连接词:";  cin>>n;cout<<"输入第3个变量:";         cin>>c;
//输出表头printtitle(a,b,c,m,n);
//输出格式及运算结果int i,j,k;for (i=0;i<2;i++){for (j=0;j<2;j++){for (k=0;k<2;k++){printf("%d    %d    %d      ",i,j,k);if(m<=n) cout<<yunsuan(yunsuan(i,j,m),k,n)<<endl;else cout<<yunsuan(i,yunsuan(j,k,n),m)<<endl;}}}
return 0;
}

2.2测试

a
1
b
4
c

2.3结果

在这里插入图片描述

这篇关于C/C++ 生成包含三个变量和两个逻辑连接词的真值表的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/168625

相关文章

C++ Primer 标准库vector示例详解

《C++Primer标准库vector示例详解》该文章主要介绍了C++标准库中的vector类型,包括其定义、初始化、成员函数以及常见操作,文章详细解释了如何使用vector来存储和操作对象集合,... 目录3.3标准库Vector定义和初始化vector对象通列表初始化vector对象创建指定数量的元素值

java两个List的交集,并集方式

《java两个List的交集,并集方式》文章主要介绍了Java中两个List的交集和并集的处理方法,推荐使用Apache的CollectionUtils工具类,因为它简单且不会改变原有集合,同时,文章... 目录Java两个List的交集,并集方法一方法二方法三总结java两个List的交集,并集方法一

C++实现回文串判断的两种高效方法

《C++实现回文串判断的两种高效方法》文章介绍了两种判断回文串的方法:解法一通过创建新字符串来处理,解法二在原字符串上直接筛选判断,两种方法都使用了双指针法,文中通过代码示例讲解的非常详细,需要的朋友... 目录一、问题描述示例二、解法一:将字母数字连接到新的 string思路代码实现代码解释复杂度分析三、

nginx生成自签名SSL证书配置HTTPS的实现

《nginx生成自签名SSL证书配置HTTPS的实现》本文主要介绍在Nginx中生成自签名SSL证书并配置HTTPS,包括安装Nginx、创建证书、配置证书以及测试访问,具有一定的参考价值,感兴趣的可... 目录一、安装nginx二、创建证书三、配置证书并验证四、测试一、安装nginxnginx必须有"-

Java实战之利用POI生成Excel图表

《Java实战之利用POI生成Excel图表》ApachePOI是Java生态中处理Office文档的核心工具,这篇文章主要为大家详细介绍了如何在Excel中创建折线图,柱状图,饼图等常见图表,需要的... 目录一、环境配置与依赖管理二、数据源准备与工作表构建三、图表生成核心步骤1. 折线图(Line Ch

C++一个数组赋值给另一个数组方式

《C++一个数组赋值给另一个数组方式》文章介绍了三种在C++中将一个数组赋值给另一个数组的方法:使用循环逐个元素赋值、使用标准库函数std::copy或std::memcpy以及使用标准库容器,每种方... 目录C++一个数组赋值给另一个数组循环遍历赋值使用标准库中的函数 std::copy 或 std::

C++使用栈实现括号匹配的代码详解

《C++使用栈实现括号匹配的代码详解》在编程中,括号匹配是一个常见问题,尤其是在处理数学表达式、编译器解析等任务时,栈是一种非常适合处理此类问题的数据结构,能够精确地管理括号的匹配问题,本文将通过C+... 目录引言问题描述代码讲解代码解析栈的状态表示测试总结引言在编程中,括号匹配是一个常见问题,尤其是在

使用C++实现链表元素的反转

《使用C++实现链表元素的反转》反转链表是链表操作中一个经典的问题,也是面试中常见的考题,本文将从思路到实现一步步地讲解如何实现链表的反转,帮助初学者理解这一操作,我们将使用C++代码演示具体实现,同... 目录问题定义思路分析代码实现带头节点的链表代码讲解其他实现方式时间和空间复杂度分析总结问题定义给定

C++初始化数组的几种常见方法(简单易懂)

《C++初始化数组的几种常见方法(简单易懂)》本文介绍了C++中数组的初始化方法,包括一维数组和二维数组的初始化,以及用new动态初始化数组,在C++11及以上版本中,还提供了使用std::array... 目录1、初始化一维数组1.1、使用列表初始化(推荐方式)1.2、初始化部分列表1.3、使用std::

C++ Primer 多维数组的使用

《C++Primer多维数组的使用》本文主要介绍了多维数组在C++语言中的定义、初始化、下标引用以及使用范围for语句处理多维数组的方法,具有一定的参考价值,感兴趣的可以了解一下... 目录多维数组多维数组的初始化多维数组的下标引用使用范围for语句处理多维数组指针和多维数组多维数组严格来说,C++语言没