当前位置:   article > 正文

educoder实验作业二分查找_educoder任务描述本关任务:在屏幕上输出以下三行信息。编程要求根据提示,在右

educoder任务描述本关任务:在屏幕上输出以下三行信息。编程要求根据提示,在右

任务描述

题目描述:将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

  1. #include<stdio.h>
  2. int main(void)
  3. {
  4. /*********Begin*********/
  5. int n,m,low,high,mid,i;
  6. scanf("%d",&n);
  7. int a[n];
  8. for(i=0;i<n;i++)
  9. {
  10. scanf("%d",&a[i]);
  11. }
  12. scanf("%d",&m);
  13. low=0;
  14. high=n-1;
  15. while(low<=high)
  16. {
  17. mid=(high+low)/2;
  18. if(m>a[mid])
  19. low=mid+1;
  20. else if(m<a[mid])
  21. high=mid-1;
  22. else if(m==a[mid])
  23. {printf("%d",mid+1);goto END;}
  24. }
  25. printf("None");
  26. END: ;
  27. /*********End**********/
  28. return 0;
  29. }

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/很楠不爱3/article/detail/498987
推荐阅读
相关标签
  

闽ICP备14008679号