根据给出的命题数n与对应的真值写出真值表

#include <iostream>
#include <math.h>
using namespace std;
void shuru(char *p,int s);//输入T or F
void shuchu(char *p,int s);//输出真值表
void shizi(char *p,int s);//输出对应的主析取式,主合取式
int main()
{int n;cout<<"input the value of n"<<endl;cin>>n;cout<<"input"<<pow(2,n)<<"个 T or F"<<endl;char a[100];shuru(a,n);char b[10]={'p','q','r','s','d','m','n','l','j','k'};cout<<"----------------------"<<endl;for(int i=0;i<n;i++){//根据命题数输出命题符号?cout<<b[i]<<"      ";}cout<<"VALUE"<<endl;shuchu(a,n);shizi(a,n);
}
void shuru(char *p,int s){for (int i=0;i<pow(2,s);i++)//判断输入的是否为F或者T,若是,存入数组a,反之,跳过?{char h;while(1){cin>>h;if(h=='T' || h=='F'){p[i]=h;break;}else{getchar();}}}
}
void shuchu(char *p,int s){int k=0,c[2]={0,1};while(k<pow(2,s))//输出每个命题的真值?{for(int i=0;i<s;i++){cout<<int(k/pow(2,s-i-1))%2<<"     ";}cout<<p[k]<<endl;k++;}cout<<endl;
}
void shizi(char *p,int s){cout<<"主析取范式为:";int flag=0;for(int i=0;i<pow(2,s);i++){if(p[i]=='T'){if(flag==1)cout<<"\\/";cout<<"m"<<i;flag=1;} }cout<<endl<<"主合取范式为:";flag=0;for(int i=0;i<pow(2,s);i++){if(p[i]=='F'){if(flag==1)cout<<"/\\";cout<<"M"<<i;flag=1;}  }
}

运行结果:

离散数学编程实现真值表输出相关推荐

  1. C语言学习之编程输入x,输出对应的y.

    试编程输入x,输出对应的y. #include <stdio.h> void main(){int x,y;printf("请输入一个数:\n");scanf(&quo ...

  2. c语言数组模拟骰子6000次,单选:模拟骰子的6000次投掷,编程统计并输出骰子的6个面各自出现的概率。按要求在空白处填写适当的表达式或语句,使程序完整并符合题目要求。...

    单选:模拟骰子的6000次投掷,编程统计并输出骰子的6个面各自出现的概率.按要求在空白处填写适当的表达式或语句,使程序完整并符合题目要求. #include _________ #include &l ...

  3. 一圆形游泳池如图所示,现在需在其周围建一圆形过道,并在其四周围上栅栏。栅栏价格为35元/米,过道造价为20元/平方米。过道宽度为3米,游泳池半径由键盘输入。要求编程计算并输出过道和栅栏的造价。

    一圆形游泳池如图所示,现在需在其周围建一圆形过道,并在其四周围上栅栏.栅栏价格为35元/米,过道造价为20元/平方米.过道宽度为3米,游泳池半径由键盘输入.要求编程计算并输出过道和栅栏的造价.(创建一 ...

  4. 习题:一圆型游泳池如图所示,现在需在其周围建一圆型过道,并在其四周围上栅栏。栅栏价格为35元/米,过道造价为20元/平方米。过道宽度为3米,游泳池半径由键盘输入。要求编程计算并输出过道和栅栏的造价。

    完整题干: 一圆型游泳池如图所示,现在需在其周围建一圆型过道,并在其四周围上栅栏.栅栏价格为35元/米,过道造价为20元/平方米.过道宽度为3米,游泳池半径由键盘输入.要求编程计算并输出过道和栅栏的造 ...

  5. C语言练习,利用求阶乘函数Fact(),编程计算并输出从1到n之间所有数的阶乘值。

    利用求阶乘函数Fact(),编程计算并输出从1到n之间所有数的阶乘值. **输入格式要求:"%u" 提示信息:"Input n(n>0):" **输出格式 ...

  6. C语言程序设计——函数 梅森尼数形如2^i-1的素数,称为梅森尼数。编程计算并输出指数i在[2,n]中的所有梅森尼数,并统计这些梅森尼数的个数,其中n的值由键盘输入,并且n的值不能大于50。

    梅森尼数 形如2^i-1的素数,称为梅森尼数.编程计算并输出指数i在[2,n]中的所有梅森尼数,并统计这些梅森尼数的个数,其中n的值由键盘输入,并且n的值不能大于50.其中,2^i表示2的i次方,请不 ...

  7. python1-n之间的素数输出_编程计算并输出1~n之间所有素数之和

    素数求和问题,也是大一的一次实验.重新回顾,重新体会. 问题描述:从键盘输入任意一个整数n,编程计算并输出1-n之间所有素数之和. 附加题(选做):针对实验的问题想出一种算法,能对任意一个5 首先,必 ...

  8. 设银行1年期定期存款年利率为2.25%,存款本金为deposit元,试编程计算并输出n年后的本利之和

    #include<stdio.h> #include<math.h> int main() {/*设银行1年期定期存款年利率为2.25%,存款本金为deposit元,试编程计算 ...

  9. 3.3 设银行定期存款的年利率rate为2.25%,已知存款期为n年,存款本金为capital元,试编程计算并输出n年后的本利之和deposit

    3.3 设银行定期存款的年利率rate为2.25%,已知存款期为n年,存款本金为capital元,试编程计算并输出n年后的本利之和deposit #include<stdio.h> int ...

  10. 编程计算并输出一元二次方程的根

    目录 一.无要求 二.有要求: 例题: 从键盘上输入a,b,c的值,编程计算并输出一元二次方程的根 一.无要求 代码如下: #include<stdio.h>#include<mat ...

最新文章

  1. JAVA统计字母、数字个数
  2. 编辑函数求n阶乘fact_n!函数用C语言其实可以这样!
  3. [转载] 晓说——第7期:镖局——最后的江湖(上)
  4. R语言中strptime返回值永远为NA的问题
  5. 无法加载安装安装程序:Wbemupgd.dll
  6. 【CodeForces - 569B】Inventory (水题)
  7. Java 官方性能测试工具 JMH 简单入门
  8. Mysql相关问题收集
  9. php5.3.3php5.4如何支持zend,php5.3不支持ZendOptimizer的解决办法(Zend Guard Loader)
  10. mysql主从与读写分离_MySQL主从复制与读写分离
  11. 16.What is pass in Python?
  12. struts2登录注册示例_Struts2资源包和本地化示例
  13. python2.3嵌套if结构:
  14. Eclipse简明使用教程(java集成开发环境)
  15. 豪赌激光电视,海信算是赢了吗?
  16. Android 11.0 修改下拉通知栏的NotificationGuts背景为圆角背景
  17. FAT12文件系统基本格式
  18. 修复DialogFragment Fragment already added 异常
  19. oracle服务器配置端口,服务端配置一个多端口号(如1521/1526)监听器
  20. 《算法零基础100讲》(第20讲) 进制转换(二) - 进阶[C语言题解]

热门文章

  1. 【STM32】 ESP8266WIFI模块
  2. nmap 扫描常见端口——命令
  3. fpga学习——zynq图像处理中的DVP流接口封装
  4. CMOS Image Sensor的接口硬件设计(DVP/MIPI CSI)
  5. java s_java中\s什么意思?
  6. mysql 生成一张全年日期表:工作日、周末、节假日
  7. 浏览器HTML5 写入文件
  8. Axure原型设计介绍
  9. base64格式的pdf预览
  10. 如何将PPT中的图片无改变矢量图插入word中以及matlab矢量图插入word方法【每天一个小技巧】