1樓:小花朵
直接把元素後一位覆蓋前一位就行了
最後把陣列最後一位清空即可
2樓:宛禎鄧芙蓉
#include
main()
c語言中怎麼刪除陣列中的一個元素
3樓:禾生七七
方法:刪除就是將其下
copy標所在位置的中的內容置為空(也就是0),然後從此位置開始,後面的內容前移,再把最後那個位置的置為空(就是0)。
前移無非就是 類似 arr[ i - 1] = arr[ i ] 這個意思。
當可以確認陣列中存放的都是整數,你可以將這個元素置為-1表示刪除。增加就是先檢查你的陣列中有沒有-1的元素,如果有,就設定為你的值。如果全部都滿了,就開一個更大的陣列,把資料拷貝過去。
把相應位後面的一次前移一位,就是實現了刪除操作,可以用個for迴圈就可以實現了。
陣列的記憶體分配:變數在記憶體中是從大到小定址的(記憶體中以位元組為單位),比如00000000 00000000 00000000 00001010在記憶體中,00001010的地址是最小的;而陣列則有些不同,陣列的元素自然的從上往下排列 儲存,整個陣列的地址為首元素的地址。 (但是組成元素的位元組還是按從大到小)。
4樓:匿名使用者
#include "stdio.h"
int main()
c語言中刪除一個陣列元素 30
5樓:匿名使用者
一般的陣列元素無法刪除,只能將值改變為另一個特定的值,然後發現這個值就直接轉向下一個元素.
用連結串列可以刪除表中的一個結點.
6樓:匿名使用者
如果抄陣列裡全是3 那我輸入襲要刪除的3之後 樓主想要一個什麼結果呢
是9個3 還是一個元素
也不輸出?
下面的程式可能能實現樓主的意思
#include
void main()
,n,i;
printf("input the number to delete:");
scanf("%d",&n);
for(i=0;i<10;i++)
if(a[i]!=n)
printf("%d ",a[i]);}
7樓:匿名使用者
可以不輸出 也可以把要輸出的部分存入另一個陣列 最好用連結串列 節省空間
8樓:匿名使用者
可以設定 先把
陣列抄所有值都賦
襲值查詢可以通過bai迴圈比對
for (i=0;i++;i然後通過判du斷flag來看看是否找zhi到資料
將數dao組元素置空來表示刪除
9樓:匿名使用者
找到這個數後把後面的數依次前提一位,輸出時丟棄找版到的最權後幾個..
#define n 10
main() ;
int i,j,tem,delnum;
tem=0;
printf("\nenter del num:");
scanf("%d",&delnum);
for(i=0;i }printf("\n"); for(i=0;i printf("%d,",a[i]); getch(); return;} c語言刪除一個整型陣列裡面重復的元素 10樓:匿名使用者 利用雙重迴圈,將每個值依次與其後面的值相比較,如果有相同的則刪除該元素即可。 刪除時,可以使用將後面元素依次向前移動一位,同時總長度減一的方式。 參考**如下: int remove_repeat(int *a, int l){int i, j, k; for(i = 0; i < l; i ++){for(j = i+1; j 11樓:周小狐狸愛我 int elimination(int a, int count)}} return count;} 12樓:匿名使用者 我跟你直接說思路吧,他們這樣的雙重迴圈陣列太大的話很耗時間的,你可以,先給陣列排序,然後刪除多餘的數就很耗操作了,只需要看相鄰的數就可以了。 13樓:匿名使用者 int i, j; int buf = ; int count = strlen(buf); for(i = 0; i < count; i++)}}buf[count] = '\0'; 提供給你個思路 我沒有除錯,不過思路我覺得不錯! 就是從陣列裡第一個元素開始找相同的,如果相同就把 相同元素和陣列最後一位交換,下一個相同的就和陣列倒數第二位交換,最後把 count位變成『/0』,最後列印陣列。 14樓:匿名使用者 for(int i=0; iif(arr[j]=arr[i])length--; break;}}} 15樓:匿名使用者 將第一個元素輸出,再後面的一個個與前面的比較,有相等的就繼續迴圈,不等的就輸出,用for語句做 int remove int arr,int sz 當index與i之間有其他元素,那麼這些元素必定是重複得了,直接覆蓋掉 return index 1 如果注意到是有序,你還是要問的話 c語言,刪除陣列中的重複元素 include stdafx.h vc 6.0加上這一行.include stdi... 好像沒有什麼直接的辦法,只有使用迴圈語句來判斷最後一個出現的非0值為最後一個元素,也就是說如果你初始化為1,2,3,0,4,5這樣有辦法判斷,但若初始化為1,2,0,3,0,0就沒辦法判斷了,只能判斷到3,因為3是最後一個非0值。因為系統預設會把其他部分都初始化為0,所以沒有辦法判斷 沒有賦值的元素... 當index為0時,bai陣列中下標為du0的和下標為4 0的元素交換,也zhi就是第一個和最後一dao個交換,回1,5 交換 當index為1時,答陣列中下標為1的和下標為4 1的元素交換,也就是第二個和倒數第二個交換,2,4 交換 因為此陣列元素的個數為奇數個,所以,最中間那個沒有必要交換,所以...刪除有序陣列中的重複元素c語言,C語言,刪除陣列中的重複元素
C語言 給陣列中的元素賦值
c語言中陣列元素互換的問題,C語言中陣列元素互換的問題