米一宁 2021-06-15 09:53 采纳率: 77.8%
浏览 30
已采纳

C语言上班就找你是是是被抓

 

  • 写回答

3条回答 默认 最新

  • 关注
    #include <stdio.h>
    #define  maxsize 100
    typedef int KeyType;
    typedef struct{
        KeyType key;
    }Searchl ;
    int main()
    {
        Searchl r[maxsize];
        int i,n,k,s,e,m;
        scanf("%d", &n);
        for(i=0;i<10;i++)
            scanf("%d",&r[i].key);
    
        scanf("%d",&k);
        s=0,e=n-1;
        while(s<n-1){
            m=(s+e)/2;
            if(r[m].key==k){
                printf("%d",m);
                break;
            }
            else if(r[m].key<k){
                s=m+1;
                e=n;
            }
            else{
                s=0;
                e=m-1;
            }
        }
    }
    /*10
    1 2 3 4 5 6 7 8 9 10
    3
    */
    

    查找3输出下标2:

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?