#include "stdio.h"
int main()
{
int x = 1;
int a[10];
int s = 0, i = 0, mid = 0, b = 0;
start:
printf("请输入一个有序数组10个数(从小到大):");
s = sizeof(a)/sizeof(a[0]);
for(i=0; i<s; i++)
{
scanf("%d",&a[i]);
}
for(i=0; i<s-1; i++)
{
if(a[i]>a[i+1])
{
printf("不是一个有序的数组,请重新输入:");
goto start;
}
}
printf("请输入想要查找的数:");
scanf("%d",&b);
int left = 0, right = i-1;
mid = (left+right)/2;
if(a[mid]>b)
{
right = mid;
}
if(a[mid]<b)
{
left = mid;
}
if(a[mid] == b)
{
printf("找到了:%d\n",a[mid-1]);
}
else
{
printf("找不到:-1\n.");
}
return 0;
}
相关文章
- SQLServer字符串查找(判断字符串是否含中文,数字或字母),并把是否含中文作为条件来执行一些操作 从sqlserver中提取数据如何截取字符是否包含中文基本原理:字符的 unicode编码范围。SQLServer中判断是否包含数字
- python使用二分法实现在一个有序列表中查找指定的元素
- 有几百万数据,如何快速的从数据库中查找到所有相同的记录
- 个人练习数据结构之--------------关于线性数据的有序数组以及之上的二分法查找、不同排序方法的学习
- 二分法从有序数列中查找数据
- 查找一个有序数组中的一个元素——二分法
- 从另一个表中的数据更新计数列
- 如何从MySQL数据库中查找和替换文本中的单词?
- 如何从整个数据库所有表中查找出一个列名?
- 用折半查找法在一组排好序(递增有序或递减有序)的值中查找某个数据+ 冒泡排序+选择排序+数组排序(例子)