C语言编程 求大神 从键盘输入一数,然后在一个整型一维数组a[20]中,用折半查找法找出该数

C语言编程求大神从键盘输入一数,然后在一个整型一维数组a[20]中,用折半查找法找出该数是数组中第几个元素的值。如果该数不在数组中,则打印”Nofound”。... C语言编程 求大神
从键盘输入一数,然后在一个整型一维数组a[20]中,用折半查找法找出该数是数组中第几个元素的值。如果该数不在数组中,则打印”No found”。
展开
 我来答
这是我小号V5
推荐于2017-12-16 · TA获得超过186个赞
知道小有建树答主
回答量:141
采纳率:50%
帮助的人:90.3万
展开全部
//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;
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式