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