指针实现查找,写出一通用函数,键盘输入的一个数是否在一维数组中。若找到,返回该数在数组中的下标值,若找不到返回-1
时间: 2024-02-20 16:02:17 浏览: 67
下面是一个通用函数,可以实现在一维数组中查找某个数是否存在,如果存在,则返回该数在数组中的下标值,否则返回-1:
```c
int findNumberInArray(int *arr, int len, int num) {
int i;
for (i = 0; i < len; i++) {
if (arr[i] == num) {
return i;
}
}
return -1;
}
```
其中,arr为一维数组的首地址,len为数组的长度,num为要查找的数。函数从数组的第一个元素开始遍历,如果找到了与num相等的元素,则返回该元素在数组中的下标值,否则遍历完整个数组后返回-1。
相关问题
指针实现查找,写出一通用函数,键盘输入的一个数是否在一维数组中。若找到,返回该数在数组中的下标值,否则返回-1
下面是一个通用函数,可以实现在一维数组中查找某个数是否存在,如果存在,则返回该数在数组中的下标值,否则返回-1:
```c
int findNumberInArray(int *arr, int len, int num) {
int i;
for (i = 0; i < len; i++) {
if (arr[i] == num) {
return i;
}
}
return -1;
}
```
其中,arr为一维数组的首地址,len为数组的长度,num为要查找的数。函数从数组的第一个元素开始遍历,如果找到了与num相等的元素,则返回该元素在数组中的下标值,否则遍历完整个数组后返回-1。
指针实现查找,写出一通用函数,键盘输入的一个数是否在一维数组中。若找到,返回该数在数组中的下标值,否则返回-1
好的,下面是一个通用函数的实现:
```c
int findInArray(int *arr, int len, int target) {
for (int i = 0; i < len; i++) {
if (*(arr + i) == target) {
return i;
}
}
return -1;
}
```
这个函数接受三个参数:一个指向数组首元素的指针 `arr`,数组的长度 `len`,以及要查找的目标数 `target`。
函数遍历整个数组,如果找到了目标数,就返回它在数组中的下标;如果遍历完整个数组都没有找到,就返回 -1。
我们可以在主函数中使用这个函数来查找一个数是否在数组中:
```c
int main() {
int arr[] = {12, 23, 34, 45, 56, 67, 78, 89, 90};
int len = sizeof(arr) / sizeof(arr[0]);
int target;
printf("请输入要查找的数:");
scanf("%d", &target);
int index = findInArray(arr, len, target);
if (index == -1) {
printf("数组中不存在该数\n");
} else {
printf("该数在数组中的下标为 %d\n", index);
}
return 0;
}
```
这里定义了一个包含 9 个元素的数组,然后从键盘输入要查找的数 `target`,并调用 `findInArray` 函数来查找。如果返回值为 -1,则说明数组中不存在该数;否则就输出该数在数组中的下标。
阅读全文