离散数学数理逻辑C或C语言实验报告
离散数学实验报告1.【实验2.【实验目的3.【实验内容实验
【源程序(带注释)】
#include
void xiqu(int m,int n);
void hequ(int m,int n);
void yunhan(int m,int n);
void shuang(int m,int n); // 声明四个自定义函数
int main()
{
int p,q,a;
printf("欢迎使用数理逻辑软件\n");
printf("请输入 P: ");
scanf("%d",&p);
while(p!=0&&p!=1){
printf("输入错误,请再次输入 P: ");//为满足P,Q不是1,0的情况
scanf("%d",&p);
}
printf("请输入 Q: ");
scanf("%d",&q);
while(q!=0&&q!=1){
printf("输入错误,请再次输入 Q: ");//为满足P,Q不是1,0的情况
scanf("%d",&q);
}
printf("1.析取 2.合取 3.蕴含 4.双条件 0.退出 5.再次输入\n");//主界面
printf("请输入选项:");
scanf("%d",&a);
while(a) //用switch语句进行选择
{
switch(a)
{
case 1:
xiqu(p,q);
break;
case 2:
hequ(p,q);
break;
case 3:
yunhan(p,q);
break;
case 4:
shuang(p,q);
break;
case 5: //可重新输入P,Q
printf("请输入 P: ");
scanf("%d",&p);
while(p!=0&&p!=1){
printf("输入错误,请再次输入 P: ");//为满足P,Q不是1,0的情况
scanf("%d",&p);
}
printf("请输入 Q: ");
scanf("%d",&q);
while(q!=0&&q!=1){
printf("输入错误,请再次输入 Q: ");//为满足P,Q不是1,0的情况
scanf("%d",&q);
}
case 0:
break;
default:
printf("输入错误,请再次输入\n");
break;
}
scanf("%d",&a);
}
return 0;
}
void xiqu(int m,int n){ //定义四个函数
int b=1;
if(m==0&&n==0){
b=0;
}
printf("析取值为:");
printf("%d\n",b);
}
void hequ(int m,int n){
int b=0;
if(m==1&&n==1){
b=1;
}
printf("合取值为:");
printf("%d\n",b);
}
void yunhan(int m,int n){
int b=1;
if(m==1&&n==0){
b=0;
}
printf("蕴含值为:");
printf("%d\n",b);
}
void shuang(int m,int n){
int b=0;
if(m==1&&n==1){
b=1;
}
if(m==0&&n==0){
b=1;
}
printf("双条件值为:");
printf("%d\n",b);
}
7.【实验结果
求合取、析取、条件和双条件的真值流程图
输出结果
输入Q值
输入P值
N
N
N
Y
Y
Y
结束
是否继续
运算
P为1或0
P为1或0
开始