C语言实战—猜数字游戏(涉及循环和少部分函数内容)
对于前面一些内容的总结
不妨跟着一起试试吧
折半查找算法(二分查找)
比如我买了一双鞋,你好奇问我多少钱,我说不超过300元。你还是好奇,你想知道到底多少,我就让 你猜,你会怎么猜?
答案:你每次猜中间数。 代码实现:
实现在主函数内:
int main()
{int arr[] = { 1,2,3,4,5,6,7,8,9,10 };int left = 0;int right = sizeof(arr) / sizeof(arr[0]) - 1;int key = 7;int mid = 0;while (left <= right){mid = (left + right) / 2;if (arr[mid] > key){right = mid - 1;}else if (arr[mid] < key){left = mid + 1;}elsebreak;}if (left <= right)printf("找到了,下标是%d\n", mid);elseprintf("找不到\n");
}如果实现一个二分查找函数:
int bin_search(int arr[], int left, int right, int key)
{int mid = 0;while (left <= right){mid = (left + right) >> 1;if (arr[mid] > key){right = mid - 1;}else if (arr[mid] < key){left = mid + 1;}elsereturn mid;//找到了,返回下标}return -1;//找不到
}
猜数字游戏
#include <stdio.h>
#include <stdlib.h>
#include <time.h>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语言实战—猜数字游戏(涉及循环和少部分函数内容)
对于前面一些内容的总结 不妨跟着一起试试吧 折半查找算法(二分查找) 比如我买了一双鞋,你好奇问我多少钱,我说不超过300元。你还是好奇,你想知道到底多少,我就让 你猜,你会怎么猜?…...
#define MODIFY_REG(REG, CLEARMASK, SETMASK)
#define MODIFY_REG(REG, CLEARMASK, SETMASK) WRITE_REG((REG), (((READ_REG(REG)) & (~(CLEARMASK))) | (SETMASK))) 这个宏 MODIFY_REG 是在嵌入式编程中,它用于修改一个寄存器的特定位,而不影响其他位。这个宏接受三个参数ÿ…...
使用 Docker 部署 Stirling-PDF 多功能 PDF 工具
1)Stirling-PDF 介绍 大家应该都有过这样的经历,面对一堆 PDF 文档,或者需要合并几个 PDF,或者需要将一份 PDF 文件拆分,又或者需要调整 PDF 中的页面顺序,找到的线上工具 要么广告满天飞,要么 …...
springcloud第3季 项目工程搭建与需求说明1
一 需求说明 1.1 实现结构图 订单接口调用支付接口 二 工程搭建 2.1 搭建工程步骤...
外包干了3个月,技术退步明显。。。。
先说一下自己的情况,本科生,2019年我通过校招踏入了南京一家软件公司,开始了我的职业生涯。那时的我,满怀热血和憧憬,期待着在这个行业中闯出一片天地。然而,随着时间的推移,我发现自己逐渐陷入…...
Redis特性与应用场景
Redis是一个在内存中存储数据的中间件,用于作为数据库,用于作为数据缓存,在分布式系统中能够发挥重要作用。 Redis的特性 1.In-memory data structures: MySQL使用表的方式存储数据,这意味着数据通常存储在硬盘上,并且…...
openssl3.2 - exp - 可以在命令行使用的口令算法名称列表
文章目录 openssl3.2 - exp - 可以在命令行使用的口令算法名称列表概述笔记测试工程实现备注整理 - 总共有126种加密算法可用于命令行参数的密码加密算法备注END openssl3.2 - exp - 可以在命令行使用的口令算法名称列表 概述 上一个笔记openssl3.2 - exp - PEM <…...
模板不存在:./Application/Home/View/OnContact/Index.html 错误位置
模板不存在:./Application/Home/View/OnContact/Index.html 错误位置FILE: /home/huimingdedhpucixmaihndged5e/wwwroot/ThinkPHP123/Library/Think/View.class.php LINE: 110 TRACE#0 /home/huimingdedhpucixmaihndged5e/wwwroot/ThinkPHP123/Library/Think/View.class.php(…...
复杂的数据类型如何转成字符串!
1.首先,会调用 valueOf 方法,如果方法的返回值是一个基本数据类型,就返回这个值, 如果调用 valueOf 方法之后的返回值仍旧是一个复杂数据类型,就会调用该对象的 toString 方法, 如果 toString 方法调用之后…...
云原生构建 微服务、容器化与容器编排
第1章 何为云原生,云原生为何而生 SOA也就是面向服务的架构 软件架构的发展主要经历了集中式架构、分布式架构以及云原生架构这几代架构的发展。 微服务架构,其实是SOA的另外一种实现方式,属于SOA的子集。 在微服务架构下,系统…...
JavaSE——面向对象高级一(2/4)-饿汉式单例、懒汉式单例、代码块、static的注意事项
目录 static的注意事项 static相关:代码块 单例设计模式 饿汉式单例 懒汉式单例 static的注意事项 类方法中可以直接访问类的成员,不可以直接访问实例成员。 public class Student{//定义一个类变量和一个实例变量static String schoolName;int s…...
排序之冒泡排序
通过连续地比较与交换相邻元素实现排序。这个过程就像气泡从底部升到顶部一样,因此得名冒泡排序。 流程: 首先,对 n 个元素执行“冒泡”,将数组的最大元素交换至正确位置。接下来,对剩余 n−1 个元素执行“冒泡”&…...
【NR技术】 3GPP支持无人机服务的关键性能指标
1 性能指标概述 5G系统传输的数据包括安装在无人机上的硬件设备(如摄像头)收集的数据,例如图片、视频和文件。也可以传输一些软件计算或统计数据,例如无人机管理数据。5G系统传输的业务控制数据可基于应用触发,如无人机上设备的开关、旋转、升…...
Day29:安全开发-JS应用DOM树加密编码库断点调试逆向分析元素属性操作
目录 JS原生开发-DOM树-用户交互 JS导入库开发-编码加密-逆向调试 思维导图 JS知识点: 功能:登录验证,文件操作,SQL操作,云应用接入,框架开发,打包器使用等 技术:原生开发&#x…...
Python爬虫——scrapy-4
目录 免责声明 目标 过程 先修改配置文件 再修改pipelines.py 最后的结果是这样的 read.py pipelines.py items.py settings.py scrapy日志信息以及日志级别 settings.py文件设置 用百度实验一下 指定日志级别 WARNING 日志文件 注意 scrapy的post请求 简介 …...
美团春招编程第一场第三题
美团春招编程第一场第三题 题目 解答 思路-暴力解法 pair中存储从原点到包含当前元素的0,1数量,得到二维数组mat; 从头到尾遍历尺寸为i*i的矩形,计算完美矩形数量 #include <iostream> #include <vector> using namespace std;int main()…...
BulingBuling - 《金钱心理学》 [ The Psychology of Money ]
金钱心理学 摩根-豪泽尔 关于财富、贪婪和幸福的永恒课程 The Psychology of Money Morgan Housel Timeless Lessons on Wealth, Greed, and Happiness 内容简介 [ 心理学 ] [ 金钱与投资 ] Whats it about? [ Psychology ] [ Money & Investments ] 《金钱心理学》&…...
急速建立网站方法
急速建立网站方法 WordPress: 简介: WordPress是一种广泛用于建设博客、网站的免费开源内容管理系统(CMS)。它具有友好的用户界面和丰富的插件生态系统,使得用户可以轻松创建和管理网站。特点: 主题和插件支…...
Java EE之wait和notify
一.多线程的执行顺序 由于多个线程执行是抢占式执行,就会导致顺序不同,同时就会导致出现问题,就比如俩个线程同时对同一个变量进行修改,我们难以预知执行顺序。 但在实际开发中,我们希望代码按一定的逻辑顺序执行&am…...
PostgreSQL中In, Exists在SQL查询中到底有无区别
前言 SQL查询当中,In和Exists子查询到底有无区别?记得很多年以前,确实是有相关的使用戒条的,或者说存在一些使用的惯用法。试图完全抹开两者的区别,就有点过了。 两者的主要区别: 从目的上讲,…...
AI-Shoujo HF Patch终极指南:3步轻松解锁完整游戏体验
AI-Shoujo HF Patch终极指南:3步轻松解锁完整游戏体验 【免费下载链接】AI-HF_Patch Automatically translate, uncensor and update AI-Shoujo! 项目地址: https://gitcode.com/gh_mirrors/ai/AI-HF_Patch AI-Shoujo HF Patch是一款专为AI-Shoujo游戏设计的…...
原神帧率解锁完整指南:轻松突破60帧限制,畅享丝滑游戏体验
原神帧率解锁完整指南:轻松突破60帧限制,畅享丝滑游戏体验 【免费下载链接】genshin-fps-unlock unlocks the 60 fps cap 项目地址: https://gitcode.com/gh_mirrors/ge/genshin-fps-unlock 还在为原神60帧的画面限制而烦恼吗?想要在高…...
编程思维如何培养?给非科班出身的你
编程思维如何培养?给非科班出身的你 在数字化时代,编程思维已成为一种通用能力,不仅能提升逻辑分析水平,还能解决复杂问题。即使没有计算机专业背景,普通人也能通过系统训练掌握这种思维方式。那么,如何从…...
c++ 跨平台线程封装 c++如何封装pthread和std--thread
直接用 std::thread 即可跨平台运行,其行为由 C11 标准保证一致;需明确区分哪些功能必须用原生 API(如亲和性)、哪些 std::thread 已足够,避免强行封装引入未定义行为或资源泄漏。怎么让同一套线程代码在 Linux/macOS/…...
深度剖析:为什么Android选择了Binder
深度剖析:为什么Android选择了Binder 一、Android 的进程间通信需求 在 Android 系统里,每个应用通常都运行在独立的进程中,就像一个个独立的小世界,拥有自己专属的内存空间和系统资源 。这种进程隔离机制,就像是给每个…...
Phi-4-mini-reasoning 128K上下文实战:长篇逻辑题拆解与跨段落推理演示
Phi-4-mini-reasoning 128K上下文实战:长篇逻辑题拆解与跨段落推理演示 1. 模型简介与核心能力 Phi-4-mini-reasoning 是一个基于合成数据构建的轻量级开源模型,专注于高质量、密集推理的数据处理。作为Phi-4模型家族的一员,它经过专门微调…...
脑科学研究必备:用BCT工具箱5步完成fMRI网络分析(附示例数据集)
脑科学研究实战指南:BCT工具箱在fMRI网络分析中的5步高效应用 神经影像数据分析一直是脑科学研究中的核心挑战之一。面对海量的功能磁共振成像(fMRI)数据,研究人员常常需要借助专业工具来提取有意义的网络特征。Brain Connectivity Toolbox(BCT)作为一款…...
Python 安全开发全栈指南:零基础
Python 安全开发当前时间背景:2026年4月 (Python 3.14) 核心工具:Python 3.x | Requests | Lxml | Re️ 全栈知识体系思维导图mindmaproot((Python安全开发))基础核心变量与数据类型数值 (int, float)字符串 (str)布尔 (bool)运算符算术 ( - * /)赋值 ()…...
8. C++17新特性-Lambda 表达式增强
一、引言自 C11 引入以来,Lambda 表达式凭借其就地定义、支持闭包的特性,彻底重塑了 C 的函数式编程与异步回调范式。为了使其在复杂工程场景下更加健壮和灵活,C17 对 Lambda 表达式进行了两项极为重要且务实的增强:按值捕获 *thi…...
CISSP 域5知识点 身份认证与授权
🔐 CISSP必修课⑤ | 身份认证与授权(官方核心考点完全拆解) 🌊 CISSP Domain 5 身份认证与授权 | 官方核心定位 📍 归属:Domain 5 身份与访问管理(Identity and Access Management, IAM&#x…...
