Description:現(xiàn)有一個正整數(shù)數(shù)組Array,以0表示數(shù)組的結(jié)束。其中任意2個元素都不同,而且已經(jīng)按照遞增序排列。另有一個整數(shù)Key>0。要將Key插入到數(shù)組Array中,并保證插入之后的數(shù)組依然保持遞增序。在插入過程中,會有以下情況出現(xiàn):
1. 數(shù)組Array已經(jīng)達(dá)到其容量上界Vol,此時應(yīng)返回結(jié)果-1。
2. 數(shù)組Array中已經(jīng)有與Key相等的元素存在,此時應(yīng)返回結(jié)果-2。
3. 如果Array既沒有滿,也沒有與Key相等的元素,則應(yīng)返回Key在數(shù)組Array中插入的位置,即Key插入Array后所在的下標(biāo)。
要求編寫一個函數(shù)int insert(int array[],int key,int vol)實現(xiàn)上述插入操作,其中: array[]:需插入元素所在的數(shù)組; key:待插入的元素;
vol:array數(shù)組的最大容量,即數(shù)組中最多可以容納的數(shù)值個數(shù)。
樣例中已經(jīng)包含上述三種可能的情形。上述情況按照上述順序依次判斷,即先判斷Array是否已滿,再判斷Array是否已經(jīng)有Key。
注意:主函數(shù)已經(jīng)給出,只需提交insert函數(shù)的代碼以及必要的預(yù)處理命令。
Input:輸入分為多行。第一行是M,表示后面有M組測試數(shù)據(jù)。
每組測試數(shù)據(jù)有2行輸入。第一行是Array中的元素,不超過1000個,以數(shù)字“0”表示該行數(shù)據(jù)的結(jié)束。第二行是要插入Array中的數(shù)值Key。
Output:輸出為M行,每一行代表上述每一組輸入的插入結(jié)果。其中:如果數(shù)組已滿,則輸出:“The array if full!”
如果數(shù)組中已經(jīng)有Key,則輸出:“The key is already in this array!”
如果Key可以插入Array,則輸出:“The key is inserted in position x”. 其中x是Key插入數(shù)組后的下標(biāo)。
您可能感興趣的試卷
你可能感興趣的試題
執(zhí)行下面的程序后,a的值為()
A.7
B.8
C.9
D.10
兩次運行下面程序,如果從鍵盤上分別輸入6和4,則程序的輸出結(jié)果是()
A.7和5
B.6和3
C.7和4
D.6和4
以下程序中,while循環(huán)的循環(huán)次數(shù)是()。
A.1
B.10
C.6
D.死循環(huán),不能確定次數(shù)
最新試題
在C語言中,將屬于不同類型的數(shù)據(jù)作為一個整體來處理時,常用()。
在C語言中do-while和while語句均是先判斷表達(dá)式,再執(zhí)行循環(huán)體語句。
程序中出現(xiàn)的諸如0、300、20等數(shù)字稱為幻數(shù),通常用變量或者符號常量來替代以明確其物理意義。
計算機能干什么?()
編程實現(xiàn),輸入圓的半徑,求圓的面積。
算術(shù)運算符中‘/’的優(yōu)先級高于‘%’。
C語言編譯連接生成的.exe文件屬于()。
C語言程序區(qū)分大小寫。
連字符“–”可以用于變量名時連接兩個單詞。
補充完整下面xxk2函數(shù)定義,假定函數(shù)參數(shù)表中a的值小于等于b,函數(shù)功能是求出返回a到b之間(包含a和b值在內(nèi))所有偶數(shù)之和。