C语言查找数组怎么写呀

//查找元素
//Description
//在给定的数组中查找指定元素x是否存在,存在返回该元素的下标(数组下标从0开始),如果多次出现该元素,则输出下标最小值,否则输出”不存在“。
//Input
//包括两部分
//第一部分:输入数组中各个元素,输入-1表示输入结束。(其中,数组元素个数不超过1000,且均为整数)
//第二部分:输入待查找元素x(x为整数)
//Output
//如果数组中存在x则输出元素x所在的下标,否则输出”不存在“
//Sample Input
//8 9 5 2 -7 9 6 -1
//9
//Sample Output
//1
#include<stdio.h>
#define N 1000
int main()
{
int i,x;
int a[N];
scanf("%d",&a[N]);
scanf("%d\n",&x);
for(i=0;i<N;i++)
if(a[i]==x)
break;
if(i<N)
printf("%d\n",i);
else
printf("不存在\n");
return 0;
}

回答:输入有点问题,截图如下:

img

#include<stdio.h>
#define N 1000
int main()
{
    int i, x;
    int a[N];
    for (i = 0; i < N; i++) {
        scanf("%d", &a[i]);
        if (a[i] != -1) {
            continue;
        }
        else {
            break;
        }
    }
    scanf("%d", &x);
    for (i = 0; i < N; i++)
        if (a[i] == x)
            break;
    if (i < N-1)
        printf("%d\n", i);
    else
        printf("不存在\n");
    return 0;
}

while循环