查找给出数在数组中的位置 用c语言实现
时间: 2023-05-27 19:01:09 浏览: 142
以下是一个简单的示例代码,可以查找给定数在数组中的位置:
```c
#include <stdio.h>
int main() {
int array[] = {1, 2, 3, 4, 5};
int target = 3;
int size = sizeof(array) / sizeof(int);
int i;
for (i = 0; i < size; i++) {
if (array[i] == target) {
printf("Target found at index %d\n", i);
break;
}
}
if (i == size) {
printf("Target is not found in the array\n");
}
return 0;
}
```
首先定义了一个包含一些整数的数组 `array`,以及要查找的数字 `target`。然后计算出数组的大小,通过循环依次比较数组中的每个元素,如果找到了相同的元素,就输出该元素的下标并结束程序。如果没有找到,就输出一条提示消息。
相关问题
c语言折半查找法找出不在数组中的数的大致位置
折半查找法(也称为二分查找法)是一种用于在有序数组中查找特定元素的算法。如果你要找出不在数组中的数的大致位置,可以按照以下步骤进行:
1. 首先,确保数组是有序的。如果数组无序,可以使用排序算法(如快速排序或归并排序)对其进行排序。
2. 然后,选择一个基准点(通常是数组的中间元素)。
3. 将基准点与目标值进行比较。如果基准点等于目标值,则说明目标值在数组中存在,结束搜索。
4. 如果目标值小于基准点,则说明目标值可能在基准点的左侧。将搜索范围缩小为左侧子数组,并重复步骤2。
5. 如果目标值大于基准点,则说明目标值可能在基准点的右侧。将搜索范围缩小为右侧子数组,并重复步骤2。
6. 重复执行步骤2至5,直到找到目标值或搜索范围为空(即目标值不在数组中)。
在折半查找法中,每次比较会将搜索范围缩小一半,因此时间复杂度为O(log n)。这样,你可以大致确定不在数组中的数的位置。
帮我用C语言写一个程序,功能是查找当前数在数组中的位置
好的,以下是一个用C语言实现查找数组中指定数值位置的示例程序:
```c
#include <stdio.h>
int find_position(int arr[], int size, int target) {
/*
在数组中查找指定数值位置的函数
参数:
arr: 数组
size: 数组大小
target: 要查找的数值
返回值:
如果找到目标数值,则返回其在数组中的位置,否则返回 -1
*/
int i;
for (i = 0; i < size; i++) {
if (arr[i] == target) {
return i;
}
}
return -1;
}
int main() {
int arr[] = {1, 3, 5, 7, 9};
int size = sizeof(arr) / sizeof(arr[0]);
int target = 5;
int pos = find_position(arr, size, target);
if (pos != -1) {
printf("目标数值在数组中的位置为: %d\n", pos);
} else {
printf("未找到目标数值\n");
}
return 0;
}
```
在这个示例程序中,我们定义了一个名为 `find_position` 的函数,接受三个参数:要查找的数组、数组的大小和目标数值。函数遍历整个数组,如果找到目标数值,则返回其在数组中的位置。如果遍历完整个数组都没有找到目标数值,则返回 -1。主函数中我们使用示例数组和目标数值来测试这个函数,并根据返回值输出结果。