在一个有序数组中查找具体的某个数字n
原创
©著作权归作者所有:来自51CTO博客作者正在变富的摩自明的原创作品,请联系作者获取转载授权,否则将追究法律责任
利用到了循环语句,分支语句和数组
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int main()
{
int arr[] = { 1,2,3,4,5,6,7,8,9,10 };//下标从零开始
int k = 0;
printf("输入你想找的k值:");
scanf("%d\n", &k);
int sz = sizeof(arr) / sizeof(arr[0]);//sz为元素个数
int left = 0;//左下标
int right = sz - 1;
while (left <= right)//循环执行条件
{
int mid = (left + right) / 2;
if (arr[mid] > k)
{
right = mid - 1;
}
else if (arr[mid] < k)
{
left = mid + 1;
}
else
{
printf("找到了,下标为:%d\n", mid);
break;//找到后直接跳出循环
}
}
return 0;
}