多元素判斷的程式的乙個簡單實現方法

2022-07-18 17:42:20 字數 722 閱讀 5365

現在我們要實現這樣乙個程式片段(偽**):

array1=;

array2=;

array3=;

arrayn=;

if elem ∈ array1

exp1;

else if elem  ∈ array2

exp2;

else if elem  ∈ arrayn

expn;

每個判斷都是在乙個陣列中尋找某個元素是否存在,該如何實現呢?

將elem與陣列的每個元素依次比較,比較表示式之間用或連線起來,這是乙個辦法。但這個方法在陣列元素較多時會使條件表示式變得冗長,能否考慮使用for迴圈呢?

棘手的是if後面不能直接接for語句,我們必須做一下變通,先使用for語句判斷elem屬於哪乙個陣列,並用乙個識別符號flag來標示,接著再用識別符號來控制執行語句。同樣以偽**來說明:

for(arrayi[j])     //i=1,2,3,...,n

if(elem==arrayi[j])

flag=flagi;

break;

switch(flag)

case flag1:exp1;

case flag2:exp2;

凡是一次判斷涉及多個元素的程式都可以用這種辦法來做。

這種辦法有乙個不足之處,當elem不是屬於最後乙個陣列的時候,對elem所屬陣列判斷之後的判斷是多餘的。用goto跳轉可以解決,有沒有更好的辦法?

乙個簡單的verlig程式 乙個簡單C程式的介紹

我們前面學了c語言的一些理論知識,今天通過乙個簡單的程式先來看一看c語言程式是什麼樣子。然後再對程式中的 進行介紹。這個語句的功能是進行有關的預處理操作。include稱為檔案包含命令,後面尖括號的內容稱為標頭檔案或首檔案。此處指包含stdio.h系統標頭檔案,在下面主函式中使用的printf 函式...

簡單的乙個程式

在練習例項35的時候看到書上寫的 太多自己不願意去寫,就像能不能換一種方法來編寫 更簡單一些 結果還真成功了 我就簡單的把握的 寫下來 option explicit private sub timer timer staic x as integer if x 8 then x 1 x x 1 i...

乙個遮蔽廣告程式的簡單實現

筆者前幾天中了乙個廣告程式,經常彈出該廣告,不勝其煩,一直在想怎麼去掉這個煩人的廣告,想想用一下api函式應該可能關掉該廣告。該程式如下 先定義乙個 函式bool callback enumwindowsfuntions hwnd hwnd,lparam lparam 為的是跟enumwindows...