寻找是否在编程范围内的某个范围

问题描述:

我知道这是一个简单的数学问题,但由于某种原因我画了一个空白。寻找是否在编程范围内的某个范围

如果我有两个整数这是一个范围边界:

int q = 100; 
int w = 230; 

,然后又在是一个数字,我想看看它的范围内:

int e = ?; 

如何找到e是否在qw的范围内?

我们在这里说C吗?

(e >= q) && (e <= w) 
+1

哈哈,可以工作,我想我正在努力思考。我正在尝试一些疯狂的事情...... – 2010-10-26 04:32:03

+0

碰巧发生在我们身上:) – 2010-10-26 04:50:28

+0

看过其他答案之后,你可能应该清楚你对q和w的假设。哪一个更小/更大等 – 2010-10-26 04:52:55

首先,你需要找到的qw这是您的下界,并且是你的上限。

int upper, lower; 

if (q <= w) { 
    lower = q; 
    upper = w; 
} else { 
    lower = w; 
    upper = q; 
} 

然后你只需执行一个简单的测试

if (lower <= e) && (e <= upper) { 
    // e is within the range 
} else { 
    // e is outside the range 
} 

这是假设您想要的范围,包括qw。否则,请将<=替换为<

对于一些困惑:

#define IN_RANGE(q,w,e) (((q > w ? q : w) > e) && ((q < w ? q : w) < e)) ? 1 : 0 

在你开始谈论多么可怕的定义是,这仅仅是一个“简单”的例子。