C语言C++一维数组

编程要求
在下面编辑器Begin-End处补充代码。用二分法进行查找。 输入 输入包括3行,第一行为整数n,第二行包括n个从小到大的整数,以空格分隔,第三行为整数m。 输出 如果在序列中找到整数m,则输出下标,格式"%d";如果不存在,则输出None。
测试说明
样例输入: 10 1 2 4 5 6 7 8 9 10 11 10 样例输出: 8
编程要求
在右侧编辑器Begin-End处补充代码。用二分法进行查找。 输入 输入包括3行,第一行为整数n,第二行包括n个从小到大的整数,以空格分隔,第三行为整数m。 输出 如果在序列中找到整数m,则输出下标,格式"%d";如果不存在,则输出None。
测试说明
样例输入: 10 1 2 4 5 6 7 8 9 10 11 10 样例输出: 8
编程要求
在右侧编辑器Begin-End处补充代码。用二分法进行查找。 输入 输入包括3行,第一行为整数n,第二行包括n个从小到大的整数,以空格分隔,第三行为整数m。 输出 如果在序列中找到整数m,则输出下标,格式"%d";如果不存在,则输出None。
测试说明
样例输入: 10 1 2 4 5 6 7 8 9 10 11 10 样例输出: 8
#include<stdio.h>
int main()
{
/Begin/

/End*/
return 0;

}

问题尽量简洁明了,你这一个题复制三遍,我还以为多复杂得题呢

int  main()
{
    int n,arr[20],m;
    cin>>n;
    for(int i=0;i<n;i++)
        cin>>arr[i];
    cin>>m;
    int low=0,high=n-1;
    while(low<=high)
    {
        int mid=(low+high)/2;
        if(arr[mid]>m)
            high=mid;
        else if(arr[mid]<m)
            low=mid+1;
        else
        {
            printf("%d",mid);
            return 0;
        } 
    }
    printf("None");
    return 0;
 
}