《C語言及程式設計》實踐參考 刪除陣列元素

2021-09-23 17:49:51 字數 967 閱讀 5461

專案要求

【專案2 - 刪除陣列元素】

del函式的作用是刪除陣列a中的指定元素x,n為陣列a的元素個數。函式的返回值,為刪除元素後的有效元素個數(陣列中可能有重複元素)。函式的原型為:

int del (int a[10],int n,int x)

(1)請實現這個函式,並完成測試。

[參考解答]

#includeint del(int a,int n, int x);

int main( )

; int i, n;

n = del(a, 20, 77);

printf("剩餘 %d 個:\n", n);

for(i=0; i

[參考解答]

思路:例如在下面main函式中的測試,刪除77時,分三個階段:①先找到77;②跨過若干個77後,找到了80;③從80開始,將資料逐個地搬到前面合適的位置(「覆蓋」了77及隨後的位置)。

#includeint del(int a,int n, int x);

int main( )

; int i, n;

n = del(a, 20, 77);

printf("剩餘 %d 個:\n", n);

for(i=0; iprintf("%d ", a[i]);

printf("\n");

return 0;

}int del(int a,int n, int x) //刪除長度為n的a陣列中值為x的元素

後記:實際上,對於本專案中涉及問題,利用好這個有序的特徵,反倒使處理變得複雜了,同時也沒有帶來效率上的提高——和對於無序陣列一樣,都要「掃瞄」整個陣列。但是,這樣的問題如果在工程中,尤其是當n很大時,階段①的工作可以用二分法完成,這是改進思路之一。另外,儲存結構不一定用陣列這種順序儲存的結構。總之,這一段程式,作為學習過程中「活動」腦瓜的乙個遊戲,玩玩也挺好。

C語言及程式設計 實踐參考 刪除陣列元素

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!返回 賀老師課程教學鏈結 專案要求 專案2 刪除陣列元素 del函式的作用是刪除陣列a中的指定元素x,n為陣列a的元素個數。函式的返回值,為刪除元素後的有效元素個數 陣列中可能有重複元素 函式的原型為 int del int a 10 int n,...

《C語言及程式設計》實踐參考 陣列的排序

返回 賀老師課程教學鏈結 專案要求 專案3 陣列的排序 1 編寫函式,完成氣泡排序 要求不能改變下面的main函式。兩個函式bubble sort和output array的宣告 int main int b 15 bubble sort a,20 用冒泡法按降序排序a中元素 output arra...

《C語言及程式設計》實踐參考 陣列大折騰

返回 賀老師課程教學鏈結 專案要求 專案1 陣列大折騰 1 建立乙個有20個元素的整型陣列,通過初始化,為陣列中的前10個元素賦初值,然後通過鍵盤輸入後10個元素的值,從前往後 從第0個到第19個 輸出陣列中元素的值,每5個元素換一行。int main 初始化前10個元素 鍵盤輸入後10個元素的值 ...