以编程方式查找某个范围内的某些内容

时间:2010-10-26 04:25:43

标签: algorithm math

我知道这是一个简单的数学问题,但由于某种原因,我画了一个空白。

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

int q = 100;
int w = 230;

然后另一个是我希望看到的数字,如果它在范围内:

int e = ?;

如何找到eq的范围内是否w

3 个答案:

答案 0 :(得分:6)

我们在这里谈论C吗?

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

答案 1 :(得分:3)

首先,您需要找到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。否则,请将<=替换为<

答案 2 :(得分:0)

对于某些混淆:

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

在你开始谈论可怕的定义之前,这只是一个“简单”的例子。