设a是一个整型数组,n和x都是整数,数组a中的元素都是互异的。请编写函数find(a,n,x),在数组a的前n个元素中查找x,如果找到,返回x在数组a中的位置;如果没有找到,返回-1。 例如:数组a中有元素{1,4,3,2,5},调用find(a,5,2)后返回4,因为在a的前5个元素中找到了2,它在a中的位置是4;而调用find(a,5,10)后返回-1,因为在a的前5个元素中没有找到10。
时间: 2024-03-02 08:54:09 浏览: 15
好的,我可以帮你编写这个函数。以下是使用C++实现的代码:
```cpp
int find(int a[], int n, int x) {
for (int i = 0; i < n; i++) {
if (a[i] == x) {
return i;
}
}
return -1;
}
```
这个函数接收三个参数,分别是整型数组a、整数n和整数x。它会遍历a数组的前n个元素,查找是否有元素等于x。如果找到了,就返回它在数组a中的位置;如果遍历完了还没有找到,就返回-1。
你可以调用这个函数来查找数组中的元素,例如:
```cpp
int a[] = {1, 4, 3, 2, 5};
int n = 5;
int x = 2;
int pos = find(a, n, x);
if (pos != -1) {
cout << x << " is found at position " << pos << endl;
} else {
cout << x << " is not found." << endl;
}
```
输出结果为:
```
2 is found at position 3
```
相关问题
C语言设a是一个整型数组,n和x都是整数,数组a中的元素都是互异的。请编写函数find(a,n,x),在数组a的前n个元素中查找x,如果找到,返回x在数组a中的位置;如果没有找到,返回-1。
好的,我可以帮你解答这个问题。以下是 C 语言实现的代码:
```c
int find(int a[], int n, int x) {
int i;
for (i = 0; i < n; i++) {
if (a[i] == x) {
return i;
}
}
return -1;
}
```
这里的函数 `find()` 接受一个整型数组 `a`,数组长度 `n` 和待查找的元素 `x` 作为参数,返回 `x` 在数组中的位置。如果找不到,则返回 -1。
函数内部使用了一个 for 循环遍历数组,逐个比较元素是否等于 `x`。如果找到了,就返回该元素在数组中的下标。如果遍历完整个数组仍然没有找到,就返回 -1。
希望这个代码能够帮到你!
用c写出设a是一个整型数组,n和x都是整数,数组a中各元素的值互异。在数组a的元素中查找与x相同的元素。如果找到,输出x在数组a中的下标位置;如果没找到,输出“没有找到与x相同的元素!”
可以回答这个问题。以下是代码:
```c
#include <stdio.h>
int main() {
int n, x;
scanf("%d %d", &n, &x);
int a[n];
for (int i = 0; i < n; i++) {
scanf("%d", &a[i]);
if (a[i] == x) {
printf("%d\n", i);
return 0;
}
}
printf("没有找到与x相同的元素!\n");
return 0;
}
```