初识C语言之二维数组(下)

一.二分查找(折半查找)

①题目描述:在有序数组中查找n

②前提:该数组是有顺序的

③代码实现:

#include<stdio.h>

int main()

{

int k=0;//定义一个变量并且初始化为零

scanf("%d",&k);//键盘输入要查找的数字

int sz=sizeof(arr)/sizeof(arr0);//计算数字的个数

int left=0;//定义一个变量为数字最左边的值

int right=sz-1;//定义一个变量为数字最右边的值

while(left<=right)//当左数小于等于右数时,触发循环

{

int mid=(left+right)/2;//定义变量为中间数

if(arrmid>k)//当中间数大于k

{

right=mid-1;//将中间值减一赋给右值

}

if(arrmid<k)

{

left=mid+1;

}

if(arrmid=k)//当中值刚好等于k

{

printf("找到了,下标为%d",mid);

break;//结束循环

}

}

if(left>right)

{

printf("找不到");

}

return 0;

}

相关推荐
沐欣工作室_lvyiyi4 小时前
基于单片机的跑步机控制系统设计(论文+源码)
c语言·单片机·嵌入式硬件·课程设计·keil·跑步机设计
苏辰澈4 小时前
C++自己的族谱规则:继承详解下
c语言·开发语言·c++·visualstudio
她说彩礼65万4 小时前
C语言 const的使用
java·服务器·c语言
py有趣4 小时前
硬件SPI和软件模拟SPI在配置方面的一点区别
c语言·stm32·单片机
驭渊的小故事4 小时前
NC229023 题解:二分答案求解“最大化最小值“问题
java·算法
朝朝辞暮i5 小时前
C++ 第 36 课:Action——机械臂/VLA 非常重要
开发语言·c++·算法·ros2
Logic1015 小时前
C语言/数据结构位运算题解:异或XOR找出英雄队伍中的“独特战斗力“——只出现一次的数字
c语言·数据结构·数组·位运算·时间复杂度·算法题·异或性质
ra90fy5 小时前
B3873 [GESP202309 六级] 小杨买饮料
c++·算法
Omics Pro5 小时前
北理工李荣华:AI虚拟细胞证据多模态推理基准
数据库·人工智能·算法·机器学习·自然语言处理
xieliyu.5 小时前
LeetCode 1419 数青蛙:状态模拟求最少青蛙数量|Java 题解
java·算法·leetcode