C语言编程 求大神 从键盘输入一数,然后在一个整型一维数组a[20]中,用折半查找法找出该数
C语言编程求大神从键盘输入一数,然后在一个整型一维数组a[20]中,用折半查找法找出该数是数组中第几个元素的值。如果该数不在数组中,则打印”Nofound”。...
C语言编程 求大神
从键盘输入一数,然后在一个整型一维数组a[20]中,用折半查找法找出该数是数组中第几个元素的值。如果该数不在数组中,则打印”No found”。 展开
从键盘输入一数,然后在一个整型一维数组a[20]中,用折半查找法找出该数是数组中第几个元素的值。如果该数不在数组中,则打印”No found”。 展开
展开全部
//1.cpp
#include<stdio.h>
int Pos(int *arr,int left,int right,int key)
{//在闭区间[left,right]中查找key
int mid=(left+right)/2;
if(key==arr[mid])return mid;
else if(left==right)return -1;
if(key<=arr[mid])return Pos(arr,left,mid,key);
else return Pos(arr,mid+1,right,key);
}
int main()
{
int arr[21];
int i;
int key;
int res
for(i=1;i<=20;i++)
{//默认数组升序排列
arr[i]=i*2;
printf("%d ",arr[i]);
}
printf("\n");
printf("请输入要查找的值:");
scanf("%d",&key);
res=Pos(arr,1,20,key);
if(res==-1)
printf("不存在\n");
else printf("位置:%d\n",res);
return 0;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询