联结词真值运算 SDUT OJ C语言 4148

1.1联结词真值运算

Time Limit: 1000 ms Memory Limit: 65536 KiB

Submit Statistic Discuss

Problem Description

已知命题变元p和q的真值,求它们的合取式(p∧q)、析取式(p∨q)、蕴涵式(p→q)、等值式(A<=>B)、与非式(p↑q)、或非式(p↓q)的真值。

Input

多组输入,每组测试数据输入两个0或1的整数p和q,1表示真值为真,0表示真值为假

Output

每组测试数据单独占一行,以空格隔开的6个0或1的整数,分别为p和q的合取式(p∧q)、析取式(p∨q)、蕴涵式(p→q)、等值式(A<=>B)、与非式(p↑q)、或非式(p↓q)的真值。

Sample Input

0 0

Sample Output

0 0 1 1 1 1

Hint

#include <stdio.h>
#include <stdlib.h>


int main()
{
    int p,q,a,b,c,d,e,f;
    while(~scanf("%d %d",&p,&q))
    {
        if(p==1&&q==1)
            a=1;
        else
            a=0;//只有p,q都为真,合取式才为真
        if(p==0&&q==0)
            b=0;
        else
            b=1;//只有p,q都为假,析取式才为假
        if(p==1&&q==0)
            c=0;
        else
            c=1;//只有p为真推出q为假,蕴涵式才为假
        if(p==q)
            d=1;
        else
            d=0;//只有p,q真值相同,等值式才为真
        if(p==1&&q==1)
            e=0 ;
        else
            e=1 ;//只有p,q都为真,与非式才为假
        if(p==0&&q==0)
            f=1;
        else
            f= 0;//只有,q都为假,或非式才为真
        printf("%d %d %d %d %d %d",a,b,c,d,e,f);
        printf("\n");


    }
    return 0;
}




猜你喜欢

转载自blog.csdn.net/qq_40354578/article/details/80566543
今日推荐