C語言中怎樣實現對陣列資料的刪除 修改

時間 2021-07-21 03:39:38

1樓:匿名使用者

#include

typedef struct nodenode;

node c[100];

int n;

void print()

printf("\n\n");

}//輸出

void setnum()

}//設定資料

void remove()//迴圈覆蓋,讓後一個覆蓋前一個,所以j最大值取n-1

n--;//結構體中的元素減少1個

}//刪除資料

void chang()//修改資料

main()}

2樓:星月小木木

#include

// 刪除長度為len的陣列dat中索引為idx的元素。

void remove(int *dat, int *len, int idx)

void output(int *dat, int len)int main()

, len = 10;

remove(a, &len, 5);

output(a, len);

remove(a, &len, 2);

output(a, len);

return 0;}

3樓:

通過陣列的下標定位到需要刪除修改的元素,即可完成對資料的刪除,修改

eg:一個4*4的二維陣列a[4][4],先要修改第一行第二個資料的話,通過下標找到該資料的為a[0][1],直接對a[0][1]賦值即可完成修改刪除,

當然如果陣列元素的型別比較複雜的話,按照該資料型別的語法法則進行賦值,修改,原理是一樣的.

4樓:融甜

刪除:for( )找到要刪除的資料的下標記為k:然後for(i=n-1;i>k;i--)a[i]後移為啊[i+1]即可

修改:找到要修改的資料的下標;修改即可

5樓:敖海夜

一開始沒看到問題描述回答錯了 樓上大神真給力

6樓:雨之中霧之夜

修改:直接重新賦值就可以,例如修改a[4]為7,直接加一行「a[4]=7;」就可以

算了 我的回答沒有說清楚 自愧不如樓上

C語言中怎樣定義動態一維陣列,c語言中定義一個動態一維陣列的函式,然後在主函式中使用

天雲一號 在c語言中,陣列的定義都是固定長度的,長度不允許變化。可以通過連結串列的方式來達到定義 動態陣列 的等價功能,舉例如下 連結串列節點定義如下 struct node 存放資料時可以對節點中的node賦值即可,如 struct node p 定義一個連結串列節點p data 3 存放第一個資...

C語言中如何實現多組資料輸入輸出

你先要設定陣列的大小,這個你必須要定義的。你要不確定你要多少你最好把你的數值設定大些。至於你要輸多個你可以用迴圈語句如 for i 1 i n i scanf d a n 輸出還是一樣之是把scanf改成printf不要取地址就行了。希望能對你有幫助。就用輸入輸出函式就可以啊。c語言中有一個。標準輸...

C語言中怎樣用二維陣列輸出5 5的資料的左下三角資料

倒黴熊 原先的陣列為 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 輸出左下角 16 7 11 12 13 16 17 18 19 21 22 23 24 25 程式如下 include int main int ...