二分查找法
题目:编写在一个整型有序数组中查找具体的某个数。 要求:找到了就打印数字下标,找不到则输出“找不到“”。
代码:
#include<stdio.h>
#pragma warning (disable:4996)
int main()
{
int arr
[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
int left
= 0;
int right
= sizeof (arr
) / sizeof (arr
[0])-1;
int key
= 0;
printf("输入你想查找的数\n");
scanf("%d", &key
);
int mid
= 0;
while (left
<= right
)
{
mid
= (left
+ right
) / 2;
if (arr
[mid
] > key
)
{
right
= mid
- 1;
}
else if (arr
[mid
] < key
)
{
left
= mid
+ 1;
}
else
break;
}
if (left
<= right
)
{
printf("找到了,下标是%d\n", mid
);
}
else
printf("找不到\n");
system("pause");
}
转载请注明原文地址: https://lol.8miu.com/read-24901.html