当前位置:首页 » 编程语言 » 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");
}