2.从键盘上输入 15 个数,编程实现:首先对它按从小到大的顺序排序,然后,从键盘 上再输入一个数,用折半查找法找出该数是数组中的第几个元素的值。若该数不在数组 中,则打印出“无此数”。
时间: 2023-06-12 18:05:56 浏览: 103
2.有15个数存放在一个数组中,输入一个数,要求用折半查找法找出该数是数组中第几个元素的值。如果该数不在数组中,则输出“无此数”。以15个数用赋初值的方法在程序
5星 · 资源好评率100%
下面是使用 Python 语言实现的代码:
```python
# 输入15个数
nums = list(map(int, input("请输入15个数,以空格分隔:").split()))
# 对数组进行排序
nums.sort()
# 输入要查找的数
target = int(input("请输入要查找的数:"))
# 初始化左右边界
left, right = 0, len(nums) - 1
# 循环进行折半查找
while left <= right:
mid = (left + right) // 2
if nums[mid] == target:
print("该数在数组中的位置为:", mid + 1)
break
elif nums[mid] < target:
left = mid + 1
else:
right = mid - 1
else:
print("无此数")
```
运行代码后,会先让你输入 15 个数,然后会对这 15 个数进行从小到大的排序。接着让你输入要查找的数,然后使用折半查找法在排好序的数组中查找该数,如果找到了则输出该数在数组中的位置,否则输出“无此数”。
阅读全文