第1个回答 2019-08-13
#define
N
100
int
main()
{
int
iarray[100];
int
num;
for(int
i
=
0;
i
<
N;
i++)
{
iarray[i]
=
i*2;
}
printf("请输入一个数字:");
scanf("%d",
&num);
int
first
=
0;
int
last
=
N-1;
int
half
=
0;
bool
bfind
=
false;
time_t
start,
end;
start
=
time(NULL);
do
{
half
=
(first+last)/2;;
if(
num
==
iarray[half])
{
bfind
=
true;
break;
}
else
if(
num
>
iarray[half])
{
first
=
half
+
1;
}
else
{
last
=
half
-
1;
}
}
while(
first
<=
last
);
end
=
time(NULL);
if(bfind)
{
printf("num
=
%d,pos
=
%d\n",num,
half);
}
else
{
printf("not
found!\n");
}
printf("endtime
=
%d,
starttime
=
%d\n",
end,
start);
printf("使用的时间为:%.16f\n",
(double)(end
-
start)/CLOCKS_PER_SEC);
system("pause");
return
1;
}