请问这句话如何编写成C语言代码?(逻辑关系实在搞不懂)

当电压大于5时,开关断开;直到电压小于3时,开关闭合;在这期间,开关保持断开。
开关闭合后,直到电压大于5,开关断开;在这期间,开关保持闭合。
ps:我试着用if  elseif语句,发现最后一点怎么也满足不了,请各位大神帮忙解答,谢谢!

我说了有3个变量
v>5 s v 000
001
010
...
你排列下去,因为v>5 v<3不同时存在,可以去掉

剩下的你可以用卡诺图化简得到表达式。

首先,你除了输入的条件还需要一个开关状态变量
假设电压是v,开关是s
void foo(v, s)
{
if (v > 5) s=0; return;
if (v < 3) s=1; return;

}

个人感觉,当电压小于3或者大于5的时候反向一下开关状态就好了,只要你初始没错