数组问题,刚学C语言

输入十个数到数组a中,再输入一个数n,如果数组中没有与n相等的元素,输出-1;否则,删除与n相等的第一个元素,并输出剩余的九个元素

马上开写


#include <stdio.h>
int main()
{
    int a[10];//数组a是用来存放十个数据的
    int i,j,x,index=-1;//index用来记录与目标数相等的下标
    printf("请输入10个数(空格隔开):\n");
    for (i = 0; i < 10; i++)
    {
            scanf("%d", &a[i]);
    }
    printf("请输入目标值:\n");
    scanf("%d", &x);
    for (i = 0; i < 10; i++)
    {
        if (a[i] == x)
        {
            index=i;
            break;//找到就跳出循环
        }
    }
    if (index == -1)
        printf("-1");
    else
    {
        for (i = 0; i < 10; i++)
        {
            if(i!=index)
            {printf("%d ", a[i]);}
        }
    }
    return 0;
}


img


#include <stdio.h>

int main()
{
    int a[10], n, i, j;
    int len = 10;
    for (i = 0; i < len; i++)
        scanf("%d", &a[i]);
    scanf("%d", &n);
    for (i = 0; i < len; i++)
    {
        if (a[i] == n)
        {
            for (j = i; j < len - 1; j++)
                a[j] = a[j + 1];
            break;
        }
    }
    if (i == len)
        printf("-1");
    else
        for (i = 0; i < len - 1; i++)
            printf("%d ", a[i]);

    return 0;
}