1117 查詢陣列元素

2022-06-20 18:18:12 字數 1415 閱讀 6644

description

編寫程式,輸入n(1<=n<=10),輸入n個整數構成乙個陣列,輸入整數x,在這個陣列中查詢x是否存在,如果存在,刪除x,後面元素依次向前添補空位,並輸出刪除元

素後的陣列。如果不存在,輸出「not found」。

定義乙個查詢函式find(),在陣列a中查詢x,若找不到函式返回-1,若找到返回x的下標,函式原型如下:

int find(int a, int n, int x);

然後在main()中,先呼叫函式find(),若查詢失敗輸出「not found";若查詢成功,則呼叫上一題中定義的函式del()刪除該元素,再呼叫上一題中的printarr()輸出刪除元素後的陣列內容。

input

輸入第一行是乙個正整數n(1<=n<=10);

第二行是n個整數,構成乙個陣列;

第三行是乙個整數x,表示待查詢元素。

output

輸出刪除元素後的陣列,每個元素佔4列,右對齊。如果不存在,輸出「not found」。如果陣列中有多個x,只刪除下標最小的那個。

sample input

63 6 2 4 7 9

4sample output

3 6 2 7 9

題意描述:

輸入元素個數n及n的元素和需要查詢的元素x

若x在陣列中,就將其刪除後輸出新陣列,若不在陣列中就輸出「not found」

解題思路:

先呼叫find()函式,若查詢不成功,輸出「not found」,若查詢成功呼叫del()函式刪除該元素,再呼叫printfarr()函式輸出新陣列

程式**:

1 #include2

void del(int a,int n,int

x);3

void printarr(int a,int

n);4

int find(int a,int n,int

x);

5int

main()

614 scanf("

%d",&x);

15if

(find(a,n,x))

1623

else

24 printf("

not found\n");

25}26return0;

27}28int find(int a,int n,int

x)29

36return0;

37}38void del(int a,int n,int

x)39

49break;50

}51}52

}53void printarr(int a,int

n)54

60 }

易錯分析:

注意n=1,x==a[0]的特殊情況

ZZULIOJ 1117 查詢陣列元素

題目描述 編寫程式,輸入n 1 n 10 輸入n個整數構成乙個陣列,輸入整數x,在這個陣列中查詢x是否存在,如果存在,刪除x,後面元素依次向前添補空位,並輸出刪除元素後的陣列。如果不存在,輸出 not found 定義乙個查詢函式find 在陣列a中查詢x,若找不到函式返回 1,若找到返回x的下標,...

zzuli oj 1117 查詢陣列元素

題意描述 編寫程式,輸入n 1 n 10 輸入n個整數構成乙個陣列,輸入整數x,在這個陣列中查詢x是否存在,如果存在,刪除x,後面元素依次向前添補空位,並輸出刪除元素後的陣列。如果不存在,輸出 not found 輸入第一行是乙個正整數n 1 n 10 第二行是n個整數,構成乙個陣列 第三行是乙個整...

陣列元素查詢

本方法目標是找出給定陣列中指定兩標記之間的元素,實現 如下 功能 找出給定陣列中指定兩標記之間的元素 param original 原始資料 param startlabel 頭標記 param endlabel 尾標記 public static void findbetween string o...