當前位置:首頁 » 編程語言 » c語言數組去掉
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言數組去掉

發布時間: 2022-09-05 01:00:38

c語言,從數組中刪除一個指定元素。

C語言刪除數組指定元素的源代碼如下:

#include <stdio.h>

main()

{

char s[80],c;

int j,k;

printf(" Enter a string: ");

gets(s);

printf(" Enter a character: ");

c=getchar( );

for(j=k=0;s[j]!= '';j++)

if(s[j]!=c)

s[k++]=s[j];

s[k]= '';

printf(" %s ",s);

system("pause");

}

(1)c語言數組去掉擴展閱讀

自定義函數代碼如下

function delarrayval2($arr,$v){

$keyarr = array_keys($arr, $v);

if(count($keyarr)){

foreach ($keyarr as $key) {

unset($arr[$key]);

}

}

return $arr;

}

Ⅱ C語言問題 把一個數組中的重復元素去掉

1、首先,點擊桌面上的VC++6.0,打開軟體。

Ⅲ C語言數組刪除

#include<stdio.h>

int main()

{ int i,i1,j,k,n,a[101];

scanf("%d",&n);

for(i=1; i<=n; i++)

{ a[i]=i;

printf("%3d",a[i]);

}

printf(" ");

i=1,k=n;

for(i1=0; i1<n/2; i1++)

{ a[i++]=a[k--]=0;

for(j=1; j<=n; j++)

printf("%3d",a[j]);

printf(" ");

}

return 0;

}

Ⅳ 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]);

Ⅳ 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]);
}

Ⅵ c語言 去掉數組中重復的元素····求幫助

說的不是很清楚,數組定義的時候就刪除?看來你對數組的操作還不是很清楚,應該是在數據寫入數組的時候將其刪除吧。你可以這樣,如果數組不大,在寫入數據的時候先遍歷一遍數組看看數組中是否有該數據,如果有那麼就不把數據寫入數組,如果沒有就接著最後一個元素寫入數組就可以了。

Ⅶ 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,就表示該位置為空的 */

Ⅷ C語言里刪除數組怎麼刪除

你的數組是是一塊連續的內存,不能直接delete其中的一個,而且它還不是new出來的,更不能delete了。。。
如果你非要實現刪除一個元素的效果的話,建議你使用stl里的vector,作用跟數組差不多,刪除的時候用erase()就可以了,不過這樣vector會把之後的所以元素遷移,影響效率。最好的方法是自己寫個單鏈表來存你的數據,要實現你的刪除,就刪除個節點好了。