二分法查找,定义函数

定义一个数组,其中的数据为{0,3,7,11,23,25,26,27,30,31},要求用户输入一个数据,若找到该数,则输出该数的下标,若没有找到,则输出-1。要求用二分查找算法实现。并且将二分查找定义成函数的形式。
二分查找算法的思想:假定数据是按升序排序的,对于给定值k,从序列的中间位置开始比较,如果当前位置值等于k,则查找成功;否则若k小于当前位置值,则在序列的前半段数据中继续查找;若k大于当前位置值,则在序列的后半段数据中继续查找,直到找到给定值k,则查找成功;或表示序列查找范围的上、下界数值颠倒,查找失败。
程序框架如下:
#include <stdio.h>
#define N 10
//二分查找函数定义
int BinarySearch(, ,int key)
{
    int mid,left=0,right= n-1,find=0;
    while(!find&&
)
    {  
        mid=
;
        if(key==a[mid])
            find=1;
        else if(key<a[mid])   
            _;
        else left=mid+1;
    }
    if(find==1)
        return mid;
    else
        return -1;
}
int main()
{
    int k,table[N]={0,3,7,11,23,25,26,27,30,31};
    scanf("%d",&k);//输入带查找的数字
    printf("%d",-);//二分查找函数调用
}