//折半法找值
#include<iostream>
using namespace std;
int main()
{
int a[15];
int i,j=0,k;
for(i=0;i<15;++i)
a[i]=15-i;
for(i=0;i<15;++i)
cout<<a[i]<<" ";
cout<<endl;
cin>>k;
for (i=7;i>=0&&i<15;)
{
if(k==a[i])
{
switch(i+1)
{
case 1:cout<<"Find!It's the "<<i+1<<"st Num."<<endl;break;
case 2:cout<<"Find!It's the "<<i+1<<"nd Num."<<endl;break;
case 3:cout<<"Find!It's the "<<i+1<<"rd Num."<<endl;break;
default:cout<<"Find!It's the "<<i+1<<"th Num."<<endl;break;
}
j=1;
break;
}
else if(k<a[i])
++i;
else --i;
}
if(j==0)
cout<<"Not find!"<<endl;
return 0;
}
#include<iostream>
using namespace std;
int main()
{
int a[15];
int i,j=0,k;
for(i=0;i<15;++i)
a[i]=15-i;
for(i=0;i<15;++i)
cout<<a[i]<<" ";
cout<<endl;
cin>>k;
for (i=7;i>=0&&i<15;)
{
if(k==a[i])
{
switch(i+1)
{
case 1:cout<<"Find!It's the "<<i+1<<"st Num."<<endl;break;
case 2:cout<<"Find!It's the "<<i+1<<"nd Num."<<endl;break;
case 3:cout<<"Find!It's the "<<i+1<<"rd Num."<<endl;break;
default:cout<<"Find!It's the "<<i+1<<"th Num."<<endl;break;
}
j=1;
break;
}
else if(k<a[i])
++i;
else --i;
}
if(j==0)
cout<<"Not find!"<<endl;
return 0;
}