如何使用single if else编写以下条件?
int a; //a can vary from 8 to 12
int b = 10;
a is equal to b
a is less than b by the margin of 2
a is greater than b by the margin of 2
在上述所有情况下,应满足if条件。如果保证金大于2,请转到其他条件。
当a = 7或13的值时,该条件变为真,这是不可取的
if((a == b) || (a <b-2) || (a > b-2))
答案 0 :(得分:2)
您在这里寻找的是a
和b
相差不超过2.您可以按照以下方式执行此操作:
if (abs(a-b) <= 2)
如果a
和b
之间的差异小于或等于2,则属实。
如果a
为8,9,10,11或12,则上述评估为真。所以这满足了所有给定的条件。
答案 1 :(得分:1)
在abs
stdlib.h
if (abs(a-b) <= 2)
do something;
答案 2 :(得分:0)
使用这种方式
if(a>=8 && a<=10)
{
if ( ( a == b ) || ( a + 2 == b ) || ( a - 2 == b ) )
{
// write your code here
}
else{
//code of else part if above condition is not satisfied
}
}else{
//if value of a is not in range i.e 8 to 10
}
答案 3 :(得分:0)
a == b不是必要的。
if ( !((a <= b+2) && (a >= b-2)) ) // False if "a" is between 8 and 12