當前位置:首頁 » 網路管理 » c如何刪除數組元素
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c如何刪除數組元素

發布時間: 2022-12-06 04:08:57

1. c語言,刪除數組元素

void main()
{
int i,j,n;
int a[10];
int k=0; //記錄刪除數據的個數
printf("請輸入需要刪除的數:\n");
scanf("%d",&n);
printf("請輸入10個元素的數組: \n");
for (i=0;i<10;i++)
scanf("%d",&a[i]);
for (i=0;i<10;i++)
if (a[i]==n)
{
for (j=0;i+j<9;j++)
a[i+j]=a[i+j+1];
k++;//刪除數據的個數加1
a[10-k] = 0; //清除最後一個已經前移過的數據
}

for (i=0;i<10-k;i++)//輸出剩餘的數據,後面的數據為0代表已經被刪除的無意義數據,不必再輸出了。
printf("%5d",a[i]);
}

2. C語言中刪除一個數組元素

一般的數組元素無法刪除,只能將值改變為另一個特定的值,然後發現這個值就直接轉向下一個元素.

用鏈表可以刪除表中的一個結點.

3. c語言如何刪除數組中的某個元素

C語言中已經有一個數組名為a,其中已有n=100個元素。現在要刪除它的下標為k的元素(0<=k<100)。可以使用如下的代碼:
for(i=k;i<100-1;i++)
a[i]=a[i+1];
n--; //已經刪除完成
for(i=0;i<n;i++) //輸出檢查
printf("%d ",a[i]);

4. C語言刪除數組元素

/*我寫了兩種方法!!!方法一*/
#include
<stdio.h>
int
main()
{
int
a[10]={1,3,3,2,5,1,1,5,6,6};
int
i,j,k,x=10;/*x為數組中無重復有效元素的個數*/
for(i=0;i<x;i++)
{
for(j=i+1;j<x;j++)
{
if(a[i]==a[j])
{
x--;//發現重復時減1
for(k=j;k<x;k++)//移動數組
{
a[k]=a[k+1];
}
j--;
}
}
}
for(i=0;i<x;i++)printf("%d",a[i]);
printf("\n");
return
0;
}
/******************************************************************************
*
再寫一種方法!!!
*此方法是把所有重復的都標識出來,然後生成一個新的無重復元素的數組
*******************************************************************************/
#include
<stdio.h>
#define
flag
-1//此外定義了一個標識。把重復的無素賦值為此標識。
int
main()
{
int
a[10]={1,3,3,2,5,1,1,5,6,6};
int
b[10];//用於存儲有無重復元素的數組。
int
i,j,x=10;//x為無重復有效元素個數
for(i=0;i<10;i++)
{
if(a[i]!=flag)//如果標識過了,就不比較了
{
for(j=i+1;j<10;j++)
{
if(a[i]==a[j]&&a[j]!=flag)
{
a[j]=flag;
x--;//標識一個重復項,有效無素減少一個
}
}
}
};
for(i=0,j=0;i<10;i++)//把非標識的元素,給數組b[];
{
if(a[i]!=flag)
{
b[j]=a[i];
j++;
}
};
for(i=0;i<x;i++)printf("%d",b[i]);
printf("\n");
return
0;
}

5. C語言數組刪除指定元素

inti,j=0,k=0;
for(i=0;i<200;i++)
{
if(i=198)
{k++;k++;i=0;}
else
{
Array[j]=Array[k];
j++;
k++;
}
while(k==2400)
break;
}

6. C語言數組中的刪除一個元素怎麼寫

直接把元素後一位覆蓋前一位就行了
最後把數組最後一位清空即可

7. 急急急:如何用C語言清除數組中的所有元素

#include
/*頭文件,他包含函數體用的函數如printf(),scanf()都在庫函數stdio.h中,*/void
main()
for(i=0;i<=9;i++)
a[i]=i;/*數組初始化給數組賦值,

8. c語言數組元素的刪除

對於數組刪除,一般就是使用後面數組元素前移的操作,來覆蓋前一元素,達到刪除的效果。。。。

例如數組a[10],要刪除a[5]這個元素,那麼只需要把後面的元素前移一位就行了,也就是a[5]=a[6],a[6]=a[7],a[7]=a[8],這樣子a[5]這個元素的內容就會被全部抹殺掉了。。。。

不過這里存在一個問題,你一個結構體數組前移的時候,如何判斷有多少個元素要前移呢。。。。

所以我的做法是在結構體裡面定義一個標示符int flag。。。。

當對這個結構體數組元素賦值時,如a[10].name="KING" 時,那麼就是說下標值為10的元素是存在的,賦完值後,來個a[10].flag=1 來標記一下。。。。

這樣做的話,我們可以進行這樣的刪除操作了,如刪除下標值為5的元素——
int i=5;
for(int j=i+1;a[j].flag==1;i++,j++)
{
a[i]=a[j];
/* 結構體數組可以直接這樣子做,它會自動把a[i]裡面的變數等於a[j]裡面對應的變數 */
}
a[i].flag=0;
/* 如果你裡面原來有10個元素,那麼刪除了其中一個,那就剩下9個,a[9]那個位置應該為空,一一把裡面的元素清空太麻煩,直接把它的標示符flag等於0,就表示該位置為空的 */

9. 在C語言中如何把數組清空

有兩種方法可以實現。為方便說明,定義整型數組a,並實現將a清空。inta[4]={1,2,3,4};1、通過數組遍歷,逐個賦值為0。定義循環變數inti;for(i=0;i<4;i++)a[i]=0;該程序功能為遍歷數組a,逐個將元素賦值為0,實現清空效果。2、藉助內存賦值函數memset,整體賦值為0。void*memset(void*dst,intvalue,size_tsize);這個函數的功能為將src上,大小為size位元組的數據賦值為value。需要注意的是,該函數賦值是以位元組為單位的。調用該函數時需要引用頭文件string.h,即#include<string.h>清空數組的代碼為memset(a,0,sizeof(a));

10. C語言刪除數組元素

不前移的話體現不出刪除了一個元素。
假如原來的數組元素 :1 2 3 4 5
你把1刪除了,那要怎麼表示呢 0 2 3 4 5? 還是 2 3 4 5,所以要前移