c语言元素的删除
Ⅰ 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语言数组元素的删除
#include<stdio.h>
intmain(){
inti,j,n,m,a[100];
scanf("%d",&n);
for(i=0;i<n;i++)
scanf("%d",&a[i]);
scanf("%d",&m);
for(i=0;i<n;i++)
if(a[i]==m)
{
for(j=i;j<n-1;j++)
a[j]=a[j+1];
i--;n--;
}
for(i=0;i<n;i++)
printf("%d",a[i]);
return0;
}
Ⅲ C语言删除元素
#include<stdio.h>
intmain()
{
intn,a[10],i,j;
scanf("%d",&n);
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
scanf("%d",&j);
for(i=0;i<n;i++)
{
if(i!=j)
{
printf("%d",a[i]);
if(i!=n-1)
printf("");
}
}
return0;
}
Ⅳ C语言数组中的删除一个元素怎么写
摘要 /*
Ⅳ c语言数组元素的删除与增加。
C语言中的数组本质上是在计算机内存中分配的连续空间。
如果需要对元素进行插入和删除,并不能直接将内存中为该数组分配的空间进行插入/新增和删除,而是只能通过数据复制的方式将本来不在这个位置的元素进行移动,看起来像是元素的前移和后移。
举个例子吧:整型数组(1, 2, 3, 4, 5),如果要把2删除,那么可以将3,4,5分别向前移动,变成(1, 3, 4, 5, 5)。由于数组长度分配以后不会变化,因此最后一个多余的5实际上并不能删掉,它只是表示无意义的位置。因此对于编程人员来讲,需要另一个参数来记录这个数组中你认为有用的元素是前多少个。
值得注意的是,如果数组长度不足以保存新的元素时,是无法动态地增加数组长度的。如果非要这么做,必须要在数组分配时保证数组大小足够大。这也就是一些新手经常将数组长度设置为1000,10000的原因。
回到这个问题:
//预定义的数组,长度为20
intarray[20]={0};
//数组当前有效长度
intarrayLen=0;
//如果不是全局数组,则需要将数组指针和数组长度指针传入进行修改
voidinsertArray(intnewElement,intindex)
{
//这里没有做数组长度的检验,你需要自己完成
inti;
for(i=arrayLen++;i>index;)
array[i--]=array[i-1];//后移
array[index]=newElement;
}
voiddeleteArrayElement(intindex)
{
for(;index<arrayLen;)
array[index++]=array[index+1];//前移。要删除的位置会被直接覆盖
arrayLen--;
}
Ⅵ 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]!= '