|
program jjzx(input,output);
var
a:array[1..10] of integer;
i,j,n,x:integer;
begin
writeln('输入10个从小到大的数:');
for i:=1 to 10 do read(a[i]);
writeln('输入要查找的数:');
readln(x);
i:=1; n:=10; j:=trunc((i+n)/2);
if a[n]
writeln('查找失败,数组中无此元素!')
else
begin
repeat
if a[j]>x then
begin
n:=j; j:=trunc((i+n)/2)
end
else
begin
i:=j+1; j:=trunc((i+n)/2)
end
until (a[j]=x) or (i=j) ;
if a[j]=x then
writeln('查找成功!位置是:',j:3)
else
writeln('查找失败,数组中无此元素!')
end
end.
想想还有其他的方法解决X大于数组中的任何一个数的方法这种情况的方法吗?
|