当前位置:首页 » 网络管理 » 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,所以要前移