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

c語言函數刪除數組數據

發布時間: 2022-07-10 03:37:41

1. c語言:從數組中刪除數據怎麼做

#include<stdio.h>
#define N 10
void main( )
{
int a[N] , num ,i , *p , n=N;
int j;

/*輸入N個數到數組a中;*/
for(i=0;i<n;i++)
{
scanf(「%d」,&num);
a[i]=num;
}

/*在數組a中刪除指定的數num;*/
for(i=0;i<n;i++)
{
if(a[i] == num)
{
//a[i]=a[n];//如果不保留原數組里的順序,此一句即可代替下邊2行語句,同時省掉變數j

for(j=i;j<n-1;j++)
a[j]=a[j+1];

n--;
}
}

/*輸出刪除了num後的數組a;*/
for(i=0;i<n;i++)
printf("%d ",a[i]);

getchar();
}

2. 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]);

3. 用c語言函數刪除數組中的數據

既然是數組,表示數據為線性陣列了,想刪除其中一個數據,是不可能的,只能用該位置以後的數據整體平移一個位置覆蓋當前位置。例如:數組數據
1
2
3
4
5
6
7,想刪除3,那麼得到的新數組為1
2
4
5
6
7,其中
4
5
6
7
數據的位置相對原始數組位置整體平移減小1。
當然想是想快速刪除數據,可以考慮使用數據鏈表,對數組單鏈即可

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

C語言貌似沒有把數組清空的方法啊,或許你可以清除就把它賦值為0,這樣在形式上實現了清楚,不然的話只有動態申請的內存可以釋放。

5. c語言 數組刪除問題!

#include<stdio.h>

//deleteFromArray從數組中刪除一個數據
//data:待刪除數據array:數組arraySize:數組大小elementCount:數組中元素個數
//返回值:新的元素個數
intdeleteFromArray(intdata,intarray[],intarraySize,intelementCount)
{
inti,j;
for(inti=0;i<elementCount;i++)
{
if(array[i]==data)//找到被刪除數據
{
//把後面的數據往前移動一位
for(j=i+1;j<elementCount;j++)
array[j-1]=array[j];
elementCount--;
}
}
returnelementCount;
}

main()
{
inta[3]={1,2,3};//創建數組
intcount=3;//數組中元素數量
count=deleteFromArray(2,a,3,count);//從a數組中刪除2
count=deleteFromArray(3,a,3,count);//從a數組中刪除3
}

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

摘要 /*

7. 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");

}

(7)c語言函數刪除數組數據擴展閱讀

自定義函數代碼如下

function delarrayval2($arr,$v){

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

if(count($keyarr)){

foreach ($keyarr as $key) {

unset($arr[$key]);

}

}

return $arr;

}

8. 幫忙調試一個C語言程序,刪除數組中的一個元素(函數調用),3Q~

如果你只是刪掉為k的值,然後輸入的話,只要一個for循環就夠了,把不等於k的值直接輸出就行,不用再存入數組里了,如:
#include<stdio.h>
void
main()
{
int
n,k,x[100000];
int
i,flag=0;
scanf("%d",&n);
for(i=0;i<n;i++)
scanf("%d",&x[i]);
scanf("%d",&k);
for(i=0;i<n;i++)
if(x[i]!=k)
{
if(flag==0)
//(讓第一個輸出前不加空格)
{
printf("%d",x[i]);
flag=1;
}
else
printf("
%d",x[i]);
}
printf("\n");
}