c语言在一列数组中,删除一个元素

2024-12-19 21:51:44
推荐回答(5个)
回答1:

就是将删除元素后面的元素顺序前移一个位置,覆盖掉被删除的元素的值,然后数组中有效数据个数减一完成删除。

回答2:

最笨的方法把后面的元素向前移动一位。
void delete_item(int a[], int item, int n)
{
int i, j;
i = 0;
while(a[i] != item) i++;
n--;
for(;i
}

回答3:

设数组大小为M,删掉第N个元素。
int i;
for(i=N;i a[i-1]=a[i];
a[M-1]=0;

回答4:

从要删除的元素开始,将数组后面的元素覆盖前面的元素,就把这个元素删除掉了。覆盖时注意从要删除的元素开始往后遍历覆盖。

回答5:

#include

#include
void delchr(char *s, char c)

{
char *str = s;
char *temp, *temp1;
while(*str != '\0')
{
if(*str == c)
{
temp = str;
temp1 = str + 1;
while(*temp1 != '\0')
{
*temp = *temp1;
temp++;
temp1++;
}
*temp = '\0';
continue;
}
str++;
}
}

int main()
{
char str[100];
char c;

gets(str);
scanf("%c", &c);
printf("the old string is:%s\n", str);
printf("delete '%c'\n", c);
delchr(str, c);
printf("end old string is:%s\n", str);
return 0;
}