C语言设a是一个整型数组,n和x都是整数,数组a中的元素都是互异的。请编写函数find(a,n,x),在数组a的前n个元素中查找x,如果找到,返回x在数组a中的位置;如果没有找到,返回-1。
时间: 2024-02-23 15:59:54 浏览: 187
好的,我可以帮你解答这个问题。以下是 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中的元素都是互异的。请编写函数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
好的,下面是使用C语言实现的代码:
```c
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。
你可以调用这个函数来查找数组中的元素,例如:
```c
int a[] = {1, 4, 3, 2, 5};
int n = 5;
int x = 2;
int pos = find(a, n, x);
if (pos != -1) {
printf("%d is found at position %d\n", x, pos);
} else {
printf("%d is not found.\n", x);
}
```
输出结果为:
```
2 is found at position 3
```
设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。
好的,我可以帮你编写这个函数。以下是使用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
```
阅读全文