编写程序在 n 个元素的数组中查找指定的元素 x。

问题遇到的现象和发生背景
问题相关代码,请勿粘贴截图
运行结果及报错内容
我的解答思路和尝试过的方法
我想要达到的结果输入格式:

第一行包含两个整数 n 和 x,分别表示数组元素的个数(不超过 20)和待查找的数。

第二行包含 n 个整数,要求依次存入数组。

输出格式:

若在数组中找到 x 提示找到,并给出在数组中第一出现的时下标。

若找不到,则提示未找到。

输入样例 1:

在这里给出一组输入。例如:

5 3
1 2 3 4 5
输出样例 1:

在这里给出相应的输出。例如:

Found 3 at 2
输入样例 2:

在这里给出一组输入。例如:

5 6
1 2 3 4 5
输出样例 2:

在这里给出相应的输出。例如:

Not found 6


#include<stdio.h>
int find(int a[],int n,int x)
{
    int i;
    for(i=0;i<n;i++)
    {
        if(a[i]==x) return(i);
    }
    return(-1);
}
void del(int a[],int n,int i)
{
    int j;
    for(j=i;j<n-1;j++)
    {
        a[j]=a[j+1];
    }
}
void PrintArr(int a[],int n)
{
    int i;
    for(i=0;i<n-1;i++)
    {
        printf("%d ",a[i]);
    }
}
int main()
{
    int find(int a[],int n,int x);
    void del(int a[],int n,int i);
    void PrintArr(int a[],int n);
    int n,x,a[100],sub,i;
    scanf("%d %d",&n,&x);
    for(i=0;i<n;i++)
    {
        scanf("%d",&a[i]);
    }
    sub=find(a,n,x);
    if(sub==-1) 
    {
        printf("Not found %d",x);
        return 0;
    }
    del(a,n,sub);
    PrintArr(a,n);
    printf("\n");
    return 0;
}


img

#include <bits/stdc++.h>
using namespace std;

int main() {
    int n, x;
    cin >> n>> x;
    int s[1010];
    for(int i = 0; i < n; i++) {
      cin >> s[i];
    }
    sort(s, s + n);
    for(int i = 0; i < n; i++) {
      if(s[i] == x) {
        cout << "Found "<< x<< " at "<< i;
        return 0;
      }
    }
    cout << "Not found "<< x;
}