var a= b || c

var a= b || c

含义:当b>0或b=true时将b的值赋给a,否则将c的值赋给a

代码为#include<bitsdc++.h> using namespace std; // 定义逻辑运算函数 int AND(int a, int b) { return a && b; } int OR(int a, int b) { return a || b; } int NOT(int a) { return !a; } int IMPLIES(int a, int b) { return !a || b; } int IFF(int a, int b) { return a == b; } int shuai_ge(int a,int b){ return a^b; } // 获取表达式中的逻辑变量 vector<char> getVariables(string expr) { vector<char> vars; for (char c : expr) { if (islower(c) && find(vars.begin(), vars.end(), c) == vars.end()) { vars.push_back(c); } } sort(vars.begin(), vars.end()); return vars; } // 输出逻辑变量的所有组合情况 void printVariableCombinations(vector<char> vars) { int n = vars.size(); for (int i = 0; i < pow(2, n); i++) { for (int j = n - 1; j >= 0; j--) { cout << ((i >> j) & 1) << " "; } cout << "\n"; } } int main() { string expr; while (getline(cin, expr)) { vector<string> tokens; vector<char> vars; string token; // 分割表达式为单词 for (char c : expr) { if (isalpha(c)) { token += c; } else if (token != "") { tokens.push_back(token); token = ""; } if (c == '(' || c == ')' || c == '!' || c == '&' || c == '|' || c == '-' || c == '<' || c == '>'||c == '^') { tokens.push_back(string(1, c)); } } if (token != "") { tokens.push_back(token); } // 获取逻辑变量 vars = getVariables(expr); // 输出单词和逻辑变量 for (string t : tokens) { cout << t << " "; } cout << "\n"; for (char v : vars) { cout << v << " "; } cout << "\n"; // 输出逻辑变量的所有组合情况 printVariableCombinations(vars); } return 0; }
06-09
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值