C语言删除数组指定元素

#include<stdio.h>
main()
{int i,j,n;
int a[10];
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];
for (i=0;i<10;i++)
printf("%5d",a[i]);
}

这个是我扥代码。。。
但是试了不行。。。。。。
望大虾帮忙修改下。。。
谢谢了
我没财富积分了
有了绝对追分!!!谢谢了

C语言删除数组指定元素的源代码如下:

#include <stdio.h>

main()

{

char s[80],c;

int j,k;

printf("\nEnter a string: ");

gets(s);

printf("\nEnter a character: ");

c=getchar( );

for(j=k=0;s[j]!= '\0';j++)

if(s[j]!=c)

s[k++]=s[j];

s[k]= '\0';

printf("\n%s\n",s);

system("pause");

}

扩展资料

自定义函数代码如下

function delarrayval2($arr,$v){

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

if(count($keyarr)){ 

foreach ($keyarr as $key) { 

unset($arr[$key]); 

}

return $arr;

}

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-10-08

只要将删除后的数据元素像前移动一位即可。

#include <stdio.h>

// 删除长度为len的数组dat中索引为idx的元素。
void remove(int *dat, int *len, int idx)
{
    (*len)--;
    if (idx < 0 || idx >= *len)
        return;
    for (int i = idx; i < *len; i++)
        dat[i] = dat[i+1];
}

void output(int *dat, int len)
{
    for (int i = 0; i < len; i++)
        printf("%d ", dat[i]);
    printf("\n");
}

int main()
{
    int a[10]= {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}, len = 10;
    remove(a, &len, 5);
    output(a, len);
    remove(a, &len, 2);
    output(a, len);
    return 0;
}

第2个回答  推荐于2017-10-14
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]);
}本回答被提问者采纳
第3个回答  2019-12-05
就是我们不会诉诉,也不会删除的一个软件吧
第4个回答  2011-04-24
for (j=0;i+j<9;j++)
a[i+j]=a[i+j+1];
这段不对

for(j =i; j <9; j++)
{
a[j] = a[j+1];
}追问

你们两位写的都一样。。。。
但是这个我也试过了。。。
不行
比如数组:
1 2 3 3 3 4 5 6 4 3
删除元素3,但是会出现结果还是有3!!!

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网