前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >二分查找

二分查找

作者头像
小Bob来啦
发布2020-12-16 11:54:45
6550
发布2020-12-16 11:54:45
举报
文章被收录于专栏:用户8057608的专栏
今日刷题:
任务描述

题目描述:将n个从小到大排序的整数(n<1000000)从1~n进行编号,并一个待查找的整数m,请使用二分法进行查找。

相关知识(略)
编程要求

根据提示,在右侧编辑器Begin-End处补充代码。

输入

输入包括3行,第一行为整数n,第二行包括n个整数,以空格分隔,第三行为整数m

输出

如果能够在序列中找到整数m,则输出编号(如果存在多个编号,返回编号最小的),如果不存在,则输出None

测试说明

样例输入:

10

1 2 4 5 6 7 8 9 10 11

10

样例输出:

9

源代码如下:

代码语言:javascript
复制
#include<stdio.h>
#define m 1000000
int main(void)
{
int a[m],n,b;
    scanf("%d",&b);
    for(n=0;n<b;n++){
        scanf("%d",&a[n]);
    }
    int find;
    scanf("%d",&find);
  if(b==1){
    if(find==a[0]){
      printf("%d",1);
    }

  }
    for(n=0;n<(b/2);n++) {
        if (find == a[n]) {
            printf("%d", n + 1);
            break;
        }
    }
if(find!=a[n]) {
    for (n = (b / 2); n < b; n++) {
        if (find == a[n]) {
            printf("%d", n + 1);
            break;
        }
    }
}
if(find!=a[n]){
  printf("None");
}
return 0;
}

运行结果如下:

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-03-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 程序员Bob 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 任务描述
  • 相关知识(略)
  • 编程要求
  • 测试说明
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档