寻找是否在编程范围内的某个范围
问题描述:
我知道这是一个简单的数学问题,但由于某种原因我画了一个空白。寻找是否在编程范围内的某个范围
如果我有两个整数这是一个范围边界:
int q = 100;
int w = 230;
,然后又在是一个数字,我想看看它的范围内:
int e = ?;
如何找到e
是否在q
和w
的范围内?
答
我们在这里说C吗?
(e >= q) && (e <= w)
答
首先,你需要找到的q
和w
这是您的下界,并且是你的上限。
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
}
这是假设您想要的范围,包括q
和w
。否则,请将<=
替换为<
。
答
对于一些困惑:
#define IN_RANGE(q,w,e) (((q > w ? q : w) > e) && ((q < w ? q : w) < e)) ? 1 : 0
在你开始谈论多么可怕的定义是,这仅仅是一个“简单”的例子。
哈哈,可以工作,我想我正在努力思考。我正在尝试一些疯狂的事情...... – 2010-10-26 04:32:03
碰巧发生在我们身上:) – 2010-10-26 04:50:28
看过其他答案之后,你可能应该清楚你对q和w的假设。哪一个更小/更大等 – 2010-10-26 04:52:55