西工大机试题

您所在的位置:网站首页 计算真值表 西工大机试题

西工大机试题

2024-06-15 05:31| 来源: 网络整理| 查看: 265

输出命题公式的真值表

问题描述: 先输入一个正整数 n(n 小于等于 10),表示共有 n 个命题变元,再输入一个类 似于逆波兰表达式的字符串表示一个命题公式,约定在该字符串中用一位的十进 制数表示一个命题变元,用 a、o、n、i、e 分别表示且、或、非、蕴含、等值, 用类似于逆波兰表达式形式的字符串表示的命题公式的真值表波兰表达式(即二 元运算,两个操作数在前,运算符在后;一元运算,一个操作数在前,运算符在 后)。 输入 先输入一个小于等于 10 的正整数 n,再输入一个字符串。 输出 输出该字符串表示的命题公式的真值表。 提示: 如果用 P、Q、R 分别表示这三个命题变元的话, 输入数据 01a2i 表示的命题公式是:((P∧Q)→R) 输入数据 012ia 表示的命题公式是:(P∧(Q→R)) 输入数据 0n 表示的命题公式是:┐P 输入样例 3 01a2i 输出样例 0 0 0 1 0 0 1 1 0 1 0 1 0 1 1 1 1 0 0 1 1 0 1 1 1 1 0 0 1 1 1 1

代码:

#include #include //#include #include using namespace std; //char str[20]; string str; int ans[20]; stacks; int len; int n; //完成真值表的运算,类似于中缀转后缀求表达式的值。 void run() { while(!s.empty()){ s.pop(); } char s1,s2,s3; int top=1; for(int i=0;i


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3