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

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

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

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

③代码实现:

#include<stdio.h>

int main()

{

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

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

int sz=sizeof(arr)/sizeof(arr[0]);//计算数字的个数

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

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

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

{

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

if(arr[mid]>k)//当中间数大于k

{

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

}

if(arr[mid]<k)

{

left=mid+1;

}

if(arr[mid]=k)//当中值刚好等于k

{

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

break;//结束循环

}

}

if(left>right)

{

printf("找不到");

}

return 0;

}

相关推荐
星辰徐哥13 小时前
C语言网络编程:TCP/IP协议栈、套接字、服务器/客户端通信深度解析
c语言·网络·tcp/ip
Mr_Xuhhh13 小时前
算法题解博客:三道经典题目的思路与实现
算法
算法-大模型备案 多米13 小时前
大模型备案实操指南:材料、流程与避坑要点
大数据·网络·人工智能·算法·文心一言
顾温13 小时前
数据转换函数
开发语言·算法
老花眼猫13 小时前
数学艺术图案画-繁花(四)
c语言·经验分享·青少年编程·游戏程序
Tanecious.13 小时前
蓝桥杯备赛:Day1-奖学金
c语言·c++·蓝桥杯
汉克老师13 小时前
GESP2025年6月认证C++三级( 第三部分编程题(1、奇偶校验)
c++·算法·gesp三级·gesp3级·按位操作
Fcy64813 小时前
算法基础详解(一)模拟算法与高精度算法
算法·模拟算法·高精度算法
Promise微笑13 小时前
算法对齐还是实战突围?解构GEO优化中方法论与实践的权重博弈
算法
米粒113 小时前
力扣算法刷题 Day 29
算法·leetcode·职场和发展