在任意数组中搜索目标数的程序
时间: 2024-02-09 17:10:28 浏览: 13
下面是一个简单的在任意数组中搜索目标数的程序,使用线性搜索算法:
```python
def linear_search(arr, target):
for i in range(len(arr)):
if arr[i] == target:
return i
return -1
# 示例
arr = [2, 5, 8, 10, 13]
target = 10
result = linear_search(arr, target)
if result != -1:
print("目标数在数组中的位置为", result)
else:
print("目标数不在数组中")
```
该程序首先遍历整个数组,检查每个元素是否与目标数相等。如果找到目标数,返回其索引。如果遍历完整个数组都没有找到目标数,返回 -1 表示目标数不在数组中。
相关问题
编写C语言程序,将任意一串数组按升序排列。再输入一个数,要求找出该数是数组中的第几个元素,如果不在数组中,则输出找不到
好的,根据您的要求,我来为您编写一个C语言程序:
```
#include <stdio.h>
void sort(int arr[], int len); // 声明排序函数
int main()
{
int arr[100], len, i, target, pos = -1;
// 输入数组长度和元素
printf("请输入数组长度:");
scanf("%d", &len);
printf("请输入%d个整数:", len);
for (i = 0; i < len; i++) {
scanf("%d", &arr[i]);
}
// 排序
sort(arr, len);
// 输入目标数
printf("请输入目标数:");
scanf("%d", &target);
// 在排序后的数组中查找目标数
for (i = 0; i < len; i++) {
if (target == arr[i]) {
pos = i + 1;
break;
}
}
// 输出结果
if (pos != -1) {
printf("%d是数组中的第%d个元素\n", target, pos);
} else {
printf("找不到%d\n", target);
}
return 0;
}
void sort(int arr[], int len)
{
int i, j, temp;
for (i = 0; i < len - 1; i++) {
for (j = i + 1; j < len; j++) {
if (arr[i] > arr[j]) {
temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
}
}
```
上述程序中,sort()函数用于对数组进行升序排列,主函数中先输入数组元素并进行排序,然后输入目标数并在排序后的数组中查找,最后输出结果。如果目标数在数组中,则输出其在数组中的位置;否则输出找不到。
从键盘中任意输入一个数,判断数组中是否包含此数,写个例子,用java语法
好的,你的要求我已经理解了。下面是使用Java语法编写的判断数组中是否包含指定数的例子:
```java
import java.util.Arrays;
public class ArraySearchExample {
public static void main(String[] args) {
int[] arr = {1, 2, 3, 4, 5}; // 初始化一个数组
int target = 3; // 指定要查找的数
boolean hasTarget = Arrays.stream(arr).anyMatch(x -> x == target); // 使用Lambda表达式查找
if (hasTarget) {
System.out.println("数组中包含" + target);
} else {
System.out.println("数组中不包含" + target);
}
}
}
```
运行程序,输出结果为:
```
数组中包含3
```
这个程序使用了Java 8中引入的Lambda表达式,通过判断数组中是否有任意一个元素等于目标数来确定数组中是否包含目标数。