如何在if条件下创建逻辑

时间:2016-08-17 12:29:52

标签: c if-statement

如何使用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))

4 个答案:

答案 0 :(得分:2)

您在这里寻找的是ab相差不超过2.您可以按照以下方式执行此操作:

if (abs(a-b) <= 2)

如果ab之间的差异小于或等于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