题目详情
用二分法在一个有序数列{1,2,3,4,5,6,7,8,9,10}中查找key值,若找到key则输出其在数组中对应的下标,否则输出not found。
文章目录
- 一、输入样例
- 二、输出样例
- 三、代码展示
- 四、思路体现
- 五、难点记录
一、输入样例
直接输入一个要查找的正整数key。没有其它任何附加字符。
1)第一个输入样例
4
2)第二个输入样例
15
二、输出样例
找到则在一行中按照“weizhi:下标”的格式输出其在数组中对应的下标,否则输出not found。
1)第一个输出样例
weizhi:3
2)第二个输出样例
not found
三、代码展示
#include<stdio.h>
int main()
{
int a[10]={1,2,3,4,5,6,7,8,9,10}; //定义初始数组
int i,key,index1,index2,mid; //key:准备查找的值;index1:最小下标;index2:最大下标;mid:中间值下标
scanf("%d",&key); //输入要查找的正整数key
for(index1=0,index2=9;index1<=index2;){