//
【C++引用参数】在数组中查找一个给定值
Time Limit: 1 Sec Memory Limit: 128 MB
Submit: 1081 Solved: 691
[Submit][Status][Web Board]
Description
编写函数在一个整型数组(不超过20个元素)中查找一个给定的整数,该整数在main函数中输入,如果找到该数则在main函数中输出其下标,找不到时则输出-1,要求下标值不用函数返回值返回,而用引用参数实现。
Input
第一行的第一个整数表示数组元素个数n,后面n个整数为数组元素的值,数据之间用空格分开
第二行的一个整数为要查找的数
Output
输出一个整数,找到为大于或等于0的下标,找不到为-1
Sample Input
5 12 8 34 25 9
34
Sample Output
2
// 1538 【C++引用参数】在数组中查找一个给定值
#include<bits/stdc++.h>
using namespace std;
const int N=111;
int a[N];
void half( int a[],int a_size,int& ans )
{
int x=0,y=a_size,mid;
while( x<y )
{
mid=( x+y )>>1;
if( a[mid]==ans ) { ans=mid; return ; }
else if( a[mid]>ans ) y=mid;
else if( a[mid]<ans ) x=mid+1;
}
ans=-1;
}
int main()
{
int n,i,ask;
while( cin>>n )
{
for( i=0;i<n;i++ ) cin>>a[i];
cin>>ask;
half( a,n,ask );
cout<<ask<<endl;
}
return 0;
}