定义一个包含8个元素的一维数组从键盘输入一个数在数组中查找该数若存在将其从数组中删除

如题所述

#include<stdio.h>
int main()
{
    int a[8]={1,2,3,4,5,6,7,8};//这里这个数组的值你可以这样预先定义,也可以用下面的方法赋值
    int i,n,j,l=8;
    for (i=0;i<8;i++)        //这里是输入这个数组的数,如果你已经定义好可把他删了
        scanf("%d", &a[i]);
    scanf("%d", &n);
    for (i=l-1;i>=0;i--)
    {
        if (a[i] == n)
        {
            for (j=i;j<l;j++)
                a[j]=a[j+1];
            l--;
        }
    }
    for (i=0;i<l;i++)
        printf("%d  ", a[i]);
    return 0;
}

追问

删除在哪里

看不懂啊

大神

追答

是这样的,
for (j=i;j<l;j++)
a[j]=a[j+1];
l--;
就是把数组中后面元素往前移动一位,然后再把代表数组长度的l-1,这就相当于删除了

追问

谢了

温馨提示:答案为网友推荐,仅供参考