C语言如何使用二分查找实现猜数游戏
发表于:2025-02-01 作者:千家信息网编辑
千家信息网最后更新 2025年02月01日,这篇文章给大家分享的是有关C语言如何使用二分查找实现猜数游戏的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。(壹)二分查找1.1 何为二分查找折半查找,也称二分查找,在某些情
千家信息网最后更新 2025年02月01日C语言如何使用二分查找实现猜数游戏
这篇文章给大家分享的是有关C语言如何使用二分查找实现猜数游戏的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。
(壹)二分查找
1.1 何为二分查找
折半查找,也称二分查找,在某些情况下相比于顺序查找,使用折半查找算法的效率更高。但是该算法的使用的前提是静态查找表中的数据必须是有序的。
例如,在{5,21,13,19,37,75,56,64,88 ,80,92}这个查找表使用折半查找算法查找数据之前,需要首先对该表中的数据按照所查的关键字进行排序:{5,13,19,21,37,56,64,75,80,88,92}。
1.2 二分查找的原理
以升序数列为例,比较一个元素与数列中的中间位置的元素的大小,如果比中间位置的元素大,则继续在后半部分的数列中进行二分查找;如果比中间位置的元素小,则在数列的前半部分进行比较;如果相等,则找到了元素的位置。每次比较的数列长度都会是之前数列的一半,直到找到相等元素的位置或者最终没有找到要找的元素。
动图演示:(于顺序查找相比较)
???? 二分查找的前提条件是有序数列,普通查找则不需要。
查找到返回该元素的下标,否则返回-1。
普通查找的时间复杂度为O(N), 二分查找的时间复杂度为O(logN)。 N/2/2···/2=1,2^m=N(m为折半查找的次数),那么m=log(N),二分查找的时间复杂度就为O(logN)。
1.4 代码实现
1.4.1 初始化数据
1.4.2 核心函数
(贰)猜数字游戏
2.1 菜单初始化
2.2 核心函数
2.3 main函数
2.4 总代码
#include#include #include void menu(){ printf("**********************************\n"); printf("*********** 1.play ***********\n"); printf("*********** 0.exit ***********\n"); printf("**********************************\n");} //RAND_MAX--rand函数能返回随机数的最大值。void game(){ int random_num = rand() % 100 + 1; int input = 0; while (1) { printf("请输入猜的数字>:"); scanf("%d", &input); if (input > random_num) { printf("猜大了\n"); } else if (input < random_num) { printf("猜小了\n"); } else { printf("恭喜你,猜对了\n"); break; } }} int main(){ int input = 0; srand((unsigned)time(NULL)); do { menu(); printf("请选择>:"); scanf("%d", &input); switch (input) { case 1: game(); break; case 0: break; default: printf("选择错误,请重新输入!\n"); break; } } while (input); return 0;}
感谢各位的阅读!关于"C语言如何使用二分查找实现猜数游戏"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!
元素
数列
位置
函数
数据
复杂
复杂度
时间
算法
语言
普通
有序
内容
前提
数字
更多
核心
篇文章
顺序
输入
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
5g网络技术突破
yoka凯铭风尚网络技术
湖南服务器项目云空间
jfinal 查询数据库
前景好的新药数据库
休宁网络技术及信息安全工程师
思科服务器内存条16g
找有关商誉减值的数据库
台儿庄住宿软件开发
计算机网络技术有女性
软件开发风险规避方案
数据库如何精准查询
查看局域网所有dhcp服务器
汕头职业技术学院网络技术
mac如何连接服务器
升级服务器需要注意哪些
优易宝为撒一直服务器繁忙
数据库索引如何理解
数据库aug
这么查找电脑上的数据库
服务器之间的传输数据
服务器登录为什么记不住我的凭据
放开那三国3官方服务器
服务器机房噪声
服务器巡检服务
公共数据网络安全
网络安全法违反第三十条
我的世界平原服务器必备指令
服务器数据库app连接不上
英雄联盟水晶之痕的服务器在哪里