遇到一难题,希望各位编程高手可以帮帮我,麻烦用c语言编一个可以运行的程序给我,非常感谢!拜托了! 10
判断一个数是否是数组中的成员(用二分法查找)已知数据a中一共有100个未排序的整数(由小到大排列)。现在从键盘上输入一个数,判断这个数是否是数组a中的数,如果是的话,打印...
判断一个数是否是数组中的成员(用二分法查找)
已知数据a中一共有100个未排序的整数(由小到大排列)。现在从键盘上输入一个数,判断这个数是否是数组a中的数,如果是的话,打印出此数在数组a中的位置来,否则打印“找不到“。 展开
已知数据a中一共有100个未排序的整数(由小到大排列)。现在从键盘上输入一个数,判断这个数是否是数组a中的数,如果是的话,打印出此数在数组a中的位置来,否则打印“找不到“。 展开
3个回答
展开全部
下面只是二分查找,再完善主函数就可以了
int found(int key,int a[]) //key为要查找的数,
{
int *low,*mid,*high;
high=a+99;
low=a;
while(low<=high)
{
mid=(low+high)/2;
if(key==*mid)
return mid;
else if(key<*mid)
high=mid-1;
else if(key>*mid)
low=mid+1;
}
printf("找不到“);
return -1;
}
int found(int key,int a[]) //key为要查找的数,
{
int *low,*mid,*high;
high=a+99;
low=a;
while(low<=high)
{
mid=(low+high)/2;
if(key==*mid)
return mid;
else if(key<*mid)
high=mid-1;
else if(key>*mid)
low=mid+1;
}
printf("找不到“);
return -1;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询