C语言实现:【问题描述】在数组中查找指定元素:输入一个正整数n(1<n<=10),然后输入n个整数存入数组a中,再输入一个整数x,在数组a中查找x,如果找到则输出相应的下标,否则输出“no found". 要求定义并调用函数search(list,n,x),它的功能是在数组list中查找元素x,若找到则返回相应下标,否则返回-1.试编写相应程序。请使用指针。 【样例输入】 3 1 2 -6 2 【样例输出】 1 【样例输入】 5 1 2 2 5 4 0 【样例输出】 no found
时间: 2024-02-25 18:58:37 浏览: 82
以下是实现代码:
```c
#include <stdio.h>
int search(int *list, int n, int x) {
int i;
for (i = 0; i < n; i++) {
if (*(list + i) == x) {
return i;
}
}
return -1;
}
int main() {
int n, i, x, result;
int a[10];
scanf("%d", &n);
for (i = 0; i < n; i++) {
scanf("%d", &a[i]);
}
scanf("%d", &x);
result = search(a, n, x);
if (result == -1) {
printf("no found");
} else {
printf("%d", result);
}
return 0;
}
```
在这个程序中,我们定义了一个名为 `search` 的函数,它接受一个整数数组的指针、数组长度和要查找的元素值作为参数。它使用指针来遍历数组,并在找到匹配元素时返回相应的下标。如果没有找到匹配元素,则返回 -1。
在程序的主函数中,我们首先读取输入的数组和要查找的元素值。然后,我们调用 `search` 函数来查找元素,并将结果存储在变量 `result` 中。最后,我们根据 `result` 的值打印出相应的输出。
需要注意的是,在 `search` 函数中,我们使用了指针算术运算来遍历数组中的元素。具体来说,我们使用 `*(list + i)` 来访问数组中第 `i` 个元素,其中 `list` 是数组的指针。
阅读全文