我知道這是一個簡單的數學問題,但由於某種原因我畫了一個空白。尋找是否在編程範圍內的某個範圍
如果我有兩個整數這是一個範圍邊界:
int q = 100;
int w = 230;
,然後又在是一個數字,我想看看它的範圍內:
int e = ?;
如何找到e
是否在q
和w
的範圍內?
我知道這是一個簡單的數學問題,但由於某種原因我畫了一個空白。尋找是否在編程範圍內的某個範圍
如果我有兩個整數這是一個範圍邊界:
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