C语言——二分法查找一个数_数组
问题描述:
针对一个按顺序排列的一维数组,用户输入一个数,如何辨别它是否存在?是数组中的第几位?
编程思想:
采用二分法,以最中间的数和用户输入的数进行比较,逐步缩小所求数在数组中的区间,直至匹配,或得出查无此数的结论。
代码示例:
#include <stdio.h>
int main()
{
int a[10] = {
1, 3, 5, 7, 9, 10, 19, 31, 56, 101};
int left, right, lookup, mid;
scanf("%d", &lookup);
left = 0;
right = 9;
if(lookup < a[left]