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

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

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語言中對陣列取址的問題詳見補充

不好意思,剛才回答太輕率了。請看如下程式 include stdio.h void main 這個程式可以說明,a是int 型別,而 a是指向int 4 陣列的指標。所以a和 a是型別不一樣,但值是一樣的。所以,你的問題中,a,a 0 和 a,雖然型別不完全一樣,但就數值來說是一樣的,在統一強制型別...

c語言怎樣輸入對數,在c語言中log怎麼輸入

大野瘦子 include include void main c語言中使用對數函式的方法 log 函式 返回以e為底的對數值 標頭檔案 1 include log 函式返回以 e 為底的對數值,其原型為 1double log double x log 用來計算以e為底的 x 的對數值,然後將結果返...

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 ...