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++11范围for初始化列表auto decltype详解

《C++11范围for初始化列表autodecltype详解》C++11引入auto类型推导、decltype类型推断、统一列表初始化、范围for循环及智能指针,提升代码简洁性、类型安全与资源管理效... 目录C++11新特性1. 自动类型推导auto1.1 基本语法2. decltype3. 列表初始化3

C++11右值引用与Lambda表达式的使用

《C++11右值引用与Lambda表达式的使用》C++11引入右值引用,实现移动语义提升性能,支持资源转移与完美转发;同时引入Lambda表达式,简化匿名函数定义,通过捕获列表和参数列表灵活处理变量... 目录C++11新特性右值引用和移动语义左值 / 右值常见的左值和右值移动语义移动构造函数移动复制运算符

C++中detach的作用、使用场景及注意事项

《C++中detach的作用、使用场景及注意事项》关于C++中的detach,它主要涉及多线程编程中的线程管理,理解detach的作用、使用场景以及注意事项,对于写出高效、安全的多线程程序至关重要,下... 目录一、什么是join()?它的作用是什么?类比一下:二、join()的作用总结三、join()怎么

Spring Boot配置和使用两个数据源的实现步骤

《SpringBoot配置和使用两个数据源的实现步骤》本文详解SpringBoot配置双数据源方法,包含配置文件设置、Bean创建、事务管理器配置及@Qualifier注解使用,强调主数据源标记、代... 目录Spring Boot配置和使用两个数据源技术背景实现步骤1. 配置数据源信息2. 创建数据源Be

MySQL逻辑删除与唯一索引冲突解决方案

《MySQL逻辑删除与唯一索引冲突解决方案》本文探讨MySQL逻辑删除与唯一索引冲突问题,提出四种解决方案:复合索引+时间戳、修改唯一字段、历史表、业务层校验,推荐方案1和方案3,适用于不同场景,感兴... 目录问题背景问题复现解决方案解决方案1.复合唯一索引 + 时间戳删除字段解决方案2:删除后修改唯一字

python生成随机唯一id的几种实现方法

《python生成随机唯一id的几种实现方法》在Python中生成随机唯一ID有多种方法,根据不同的需求场景可以选择最适合的方案,文中通过示例代码介绍的非常详细,需要的朋友们下面随着小编来一起学习学习... 目录方法 1:使用 UUID 模块(推荐)方法 2:使用 Secrets 模块(安全敏感场景)方法

Spring Boot中的路径变量示例详解

《SpringBoot中的路径变量示例详解》SpringBoot中PathVariable通过@PathVariable注解实现URL参数与方法参数绑定,支持多参数接收、类型转换、可选参数、默认值及... 目录一. 基本用法与参数映射1.路径定义2.参数绑定&nhttp://www.chinasem.cnbs

C++中全局变量和局部变量的区别

《C++中全局变量和局部变量的区别》本文主要介绍了C++中全局变量和局部变量的区别,全局变量和局部变量在作用域和生命周期上有显著的区别,下面就来介绍一下,感兴趣的可以了解一下... 目录一、全局变量定义生命周期存储位置代码示例输出二、局部变量定义生命周期存储位置代码示例输出三、全局变量和局部变量的区别作用域

C++中assign函数的使用

《C++中assign函数的使用》在C++标准模板库中,std::list等容器都提供了assign成员函数,它比操作符更灵活,支持多种初始化方式,下面就来介绍一下assign的用法,具有一定的参考价... 目录​1.assign的基本功能​​语法​2. 具体用法示例​​​(1) 填充n个相同值​​(2)

c++ 类成员变量默认初始值的实现

《c++类成员变量默认初始值的实现》本文主要介绍了c++类成员变量默认初始值,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 目录C++类成员变量初始化c++类的变量的初始化在C++中,如果使用类成员变量时未给定其初始值,那么它将被