在一组“有序”数组中查找某个数字,如果找到返回其下表,如果没有找到,输出“不存在”。

一,遍历查找

就是将所有数都遍历一遍 找是否存在该数字如果存在返回下标

具体怎样做 看代码

//在一个有序数组中寻找某个数int main()
{int arr[10] = { 1,2,3,4,5,6,7,8,9,10 };int k = 0;//要查找的数printf("请输入要查找的数>");scanf("%d", &k);for (int i = 0; i < 10; i++){if (arr[i] == k){printf("%d", i);break;}}return 0;
}

这样做很浪费时间,接下来我将介绍一种更快的方法

二,二分查找法

看见名字就知道 是怎么回事了 没错 就是将数组分为两段 进行查找

具体怎样实现的呢 咱们码上见分晓


//在一个有序数组中寻找某个数int main()
{int arr[10] = { 1,2,3,4,5,6,7,8,9,10 };int k = 0;//要查找的数int flag = 0;//标记 如果没找到 为0 找到为1printf("请输入要查找的数>");scanf("%d", &k);int L = 0, R = 10 - 1;//左右下标int mid = 0;//计算中间值下标 这种写法防止中间值下标算的不准 因为int是有上限的while (L <= R){mid = L + (R - L) / 2;if (arr[mid] < k){L = mid + 1;}else if (arr[mid] > k){R = mid - 1;}else if(arr[mid] == k){flag = 1;printf("找到了,下标为%d", mid);break;}}if (flag == 0){printf("不存在\n");}return 0;
}

运行结果为这样

理解以上代码 对将来有好处

加油铁汁~

C语言每日一题——查找数字相关推荐

  1. 【C语言每日一题】——猜凶手

    [C语言每日一题]--猜名次

  2. 【寒假每日一题】数字三角形(个人练习)详细题解+推导证明(第二天)

    文章目录 前言 题目 详细题解 写法1 O ( n 2 ) O(n^2) O(n2) 推导证明 写法2 O ( n 2 ) O(n^2) O(n2) 推导证明 举一反三 总结 前言 昨天真是人生中奇葩 ...

  3. C语言每日一题——数字金字塔

    如果有同学问你,"你会用代码打印出,数字金字塔吗?" 如果你阅读了这篇文章你将,会十分自信的去告诉他,这都小意思. //数子金字塔 //1//01(0代表空格 方便演示) //12 ...

  4. C语言每日一题之No.9

    再做决定之前,我还是做好自己该做的.我不希望几年后会悔恨自己为什么在最该努力的时候不愿意吃苦.尊敬的女王陛下,请接题: 一.题目:有已按升序排好顺序的字符串a,编写程序将字符串s中的每个字符按升序的规 ...

  5. 5位数的数字黑洞是多少_每日一题[491]数字黑洞--Kaprekar常数

    定义$\overline{abc}$是一个三位数,其中各数位上的数字$a,b,c\in \{ 0,1,2,3,4,5,6,7,8,9 \}$且不全相同.定义如下运算$f$:把$\overline{ab ...

  6. C语言蓝桥杯刷题:数字三角形

    题目链接 解题思路: 该题是一道经典的动态规划,对于这样的数字三角形, 我们用一个数组arr存储各个位置的数字,再用另一个数组brr来记录到该位置的最大路径 对于图中的7,我们用数组保存就是arr[0 ...

  7. C语言PAT刷题 - 1019 数字黑洞

    作者的话:若有朋友复制代码去PAT试着运行遇到问题的: 1.可能是格式问题,可以先把从本站复制的代码粘贴到记事本,再把记事本里的代码复制,然后粘贴到PAT的代码区,提交本题回答,应该就可以了: 2.可 ...

  8. LeetCode每日一题: 缺失数字(No.268)

    题目:缺失数字 给定一个包含 0, 1, 2, ..., n 中 n 个数的序列,找出 0 .. n 中没有出现在序列中的那个数. 复制代码 示例: 输入: [3,0,1] 输出: 2输入: [9,6 ...

  9. C语言每日一题:青蛙跳楼梯(学习笔记自用)

    今天做了一道csdn上的题,即一个青蛙一次能跳1或2个梯子,请问他跳n阶梯子有多少种跳法?我当时一开始用的是数学排列组合里的分类计算法,先计算全部一个一个跳.又一次跳了两个.两次跳了两个...后来在看 ...

最新文章

  1. Python入门难吗?30年前的编程语言,为什么现在这么火?
  2. Struts2 method=get方法乱码
  3. 高级定时器/TIM1/TIM8 定时时间不准的问题/TIM_TimeBaseStructure.TIM_RepetitionCounter
  4. 受 SQLite 多年青睐,C 语言到底好在哪儿?
  5. 2018.11.08 NOIP模拟 景点(倍增+矩阵快速幂优化dp)
  6. Ansible 系统概述与部署(1)
  7. 图说:Windows 8 Copy的呈现变化
  8. [ C语言 ] 用C语言实现小游戏 ---- 三子棋 代码 + 解析
  9. 【TensorFlow基础】加载和预处理数据
  10. masscan端口扫描
  11. linux下添加三菱触摸屏usb驱动,[转载]三菱触摸屏GT Works3和PLC GX Works2编程软件下载...
  12. Win10“隐藏”了一个视频编辑器,好用,免费,很多人却不知道
  13. OpenFeign实现微服务间的文件下载
  14. React Native版本升级
  15. 学生HTML个人网页作业作品:基于HTML实现教育培训机构网站模板毕业源码(8页)
  16. 赫兹的单位换算_赫兹单位换算(赫兹的单位换算公式)
  17. 宁德时代与蔚来签署全面战略合作协议;中国通信服务委任闫栋为公司总裁 | 美通企业日报...
  18. Unity随记(一) LookAt和LookRotation的使用
  19. Nginx报upstream timed out错误
  20. 数据结构第一次上机实验报告

热门文章

  1. 获取android 默认的机器人图标,APP桌面只显示默认机器人图标的几个解决方法
  2. Flink (四) Flink 的安装和部署- Flink on Yarn 模式 / 集群HA / 并行度和Slot
  3. 965年10元纸币收藏价值
  4. 解决英文、特殊字符自动换行
  5. 遗传算法解整数规划IntCon
  6. python语言元素_Python学习02_语言元素
  7. GitHub 排名前 100 的安卓、iOS项目简介
  8. 金融行业云都有什么需求
  9. Unity虚拟现实(VR)无编码游戏开发视频教程
  10. 数组方法 + ES6中数组方法 + 数组的空位