#include <stdio.h> #define N 10 int search(int *p,int x,int n) { } int main() { int indx,m,a[N]={10,20,35,40,43,44,45,50,51,60}; scanf("%d",&m); if(indx>=0) printf("index=%d\n",indx); else printf("NOEXIST\n"); return 0; } 请完善代码【输入形式】输入待查找的数据 【输出形式】输出查找结果(数组下标值或NOEXIST)
时间: 2024-03-18 17:40:01 浏览: 44
#include <stdio.h>
4星 · 用户满意度95%
完善后的代码如下:
```c
#include <stdio.h>
#define N 10
int search(int *p, int x, int n) {
int i;
for (i = 0; i < n; ++i) {
if (*(p+i) == x) {
return i;
}
}
return -1;
}
int main() {
int indx, m, a[N] = {10, 20, 35, 40, 43, 44, 45, 50, 51, 60};
scanf("%d", &m);
indx = search(a, m, N);
if (indx >= 0)
printf("index=%d\n", indx);
else
printf("NOEXIST\n");
return 0;
}
```
其中,`search` 函数是一个线性查找算法,用于在数组 `a` 中查找元素 `x` 的下标值,找到返回下标值,否则返回 `-1`。在 `main` 函数中,先读入待查找的数据 `m`,然后调用 `search` 函数进行查找,最后根据返回值输出查找结果。
阅读全文