猜数字游戏——C语言

2023-11-01

写一个猜数字游戏
 要求:
1.自动产生一个1--100之间的数字
2.猜数字
  a.猜对了,恭喜你游戏结束
  b.你猜错了,告诉你猜大了,还是猜小了,继续猜,直到猜对
3.可以一直玩,直到退出游戏。
游戏设计:
1.游戏框架设计

menu()//游戏菜单
{
    printf("***********************************************\n");
    printf("***********       1.play        ***************\n");
    printf("***********       0.exit        ***************\n");
    printf("***********************************************\n");
}
int main()
{
    int input = 0; //判断是否进行游戏的标志
    do
    {
        menu();//菜单打印
        printf("请选择:>");
        scanf("%d", &input);
        switch (input)
        {
        case 1:printf("猜数字\n");
            break;
        case 0:printf("退出游戏\n");
            break;
        default:printf("选择错误请重新选择\n");
            break;
        }

    } while (input);
    return 0;
}

  2.游戏过程设计
    1.>生成随机数
     rand函数  头文件<stdlib.h> 返回类型整形 生成随机整数在0--RAND_MAX(32767)之间,
     但从每次文件执行函数随机数的顺序是不变的,所以必须设计随机数的起点
    时间 - 时间戳(由当时时间相较于计算机起始时间的一个差值)
    time(MULL)返回类型time_t(本质是长整形)  头文件<time.h>
    但是stand()函数接收参数类型为unsigned int,所以必须强制类型转换
    (unsigned int)time(NULL)应该放在主函数内部,若放在game()函数内部函数游戏玩的数值就不够随机
    
    要想生成随机数的范围为0--100应该取rand()返回值的100的余+1
  

 
#include<stdlib.h>
#include<time.h>
game()
    {
    int ret = rand() % 100 + 1;
    printf("%d\n", ret);
    }
int main()
{
  srand((unsigned int)time(NULL));
  return 0;
}


2>猜数字

 

判断你猜的数字与实际数字的关系

int guess = 0;
while (1)
{
    printf("请猜数字:>");
    scanf("%d", &guess);
    if (guess < ret)
    {
        printf("猜小了\n");
    }
    else if (guess > ret)
    {
        printf("猜大了");
    }
    else
    {
        printf("恭喜你,猜对了\n");
        break;
    }
}

代码实现

#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<time.h>
menu()//游戏菜单
{
	printf("***********************************************\n");
	printf("***********       1.play        ***************\n");
	printf("***********       0.exit        ***************\n");
	printf("***********************************************\n");
 }
game()
{
	//1. > 生成随机数
	int ret = rand()%100+1;
	//2>猜数字
	int guess = 0;
	while(1)
	{
		printf("请猜数字:>");
		scanf("%d", &guess);
		if (guess < ret)
		{
			printf("猜小了\n");
		}
		else if (guess > ret)
		{
			printf("猜大了\n");
		}
		else
		{
			printf("恭喜你,猜对了\n");
			break;
		}
	}
}
int main()
{
	int input = 0; //判断是否进行游戏的标志
	srand((unsigned int)time(NULL));//设计随机数的起点
	do
	{
		menu();//菜单打印
		printf("请选择:>");
		scanf("%d", &input);
		switch (input)
		{
		case 1:printf("猜数字\n");
			game();
			break;
		case 0:printf("退出游戏\n");
			break;
		default:printf("选择错误请重新选择\n");
			break;
		}
	} while (input);
	return 0;
}

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

猜数字游戏——C语言 的相关文章

  • 【计算机毕业设计】电商个性化推荐系统

    伴随着我国社会的发展 人民生活质量日益提高 于是对电商个性化推荐进行规范而严格是十分有必要的 所以许许多多的信息管理系统应运而生 此时单靠人力应对这些事务就显得有些力不从心了 所以本论文将设计一套电商个性化推荐系统 帮助商家进行商品信息 在
  • 游戏开发常见操作梳理之NPC任务系统

    多数游戏存在任务系统 接下来介绍通过NPC触发任务的游戏制作代码 using System Collections using System Collections Generic using UnityEngine
  • 游戏开发常见操作梳理之角色选择一

    进入游戏后 我们经常会进入角色选择的界面 通常是左右两个按钮可以更改角色供玩家选择 对于这种界面我们通常使用数据持久化将角色信息存储起来 接下来的笔记中 我将使用自带的数据持久化系统对其进行操作 实现角色的选择页面 后续会更新xml系列的文
  • 【C++】__declspec含义

    目录 一 declspec dllexport 如果这篇文章对你有所帮助 渴望获得你的一个点赞 一 declspec dllexport declspec dllexport 是 Microsoft Visual C 编译器提供的一个扩展
  • 游戏开发中常见系统梳理之背包系统的实现一

    游戏中几乎都存在大大小小的背包系统 接下来我将讲述背包系统具体是如何实现的 完整源码 以下是使用unity NGUI实现 使用txt配置的方法 后续更新UGUI Json实现的背包系统敬请期待 背包中的物品我们常常将其制作成预设体 通过改变
  • qt.qpa.plugin: Could not find the Qt platform plugin “windows“ in ““

    系统环境 Win10家庭中文版 Qt 5 12 9 链接了一些64位的第三方库 程序编译完运行后出现 qt qpa plugin Could not find the Qt platform plugin windows in 弹窗如下 网
  • js中关于字符串的创建和判断类型

    文章目录 创建方法 判断类型的技巧 区分 1 typeof 2 instanceof 共点 1 Object prototype toSt
  • 【卡尔曼滤波】具有梯度流的一类系统的扩散映射卡尔曼滤波器研究(Matlab代码实现)

    欢迎来到本博客 博主优势 博客内容尽量做到思维缜密 逻辑清晰 为了方便读者 座右铭 行百里者 半于九十 本文目录如下 目录 1 概述 2 运行结果 3 参考文献 4 Matlab代码 数据 文章
  • 【硕士论文复现】可再生能源发电与电动汽车的协同调度策略研究(Matlab代码实现)

    欢迎来到本博客 博主优势 博客内容尽量做到思维缜密 逻辑清晰 为了方便读者 座右铭 行百里者 半于九十 本文目录如下 目录 1 概述 1 1 上层问题 1 2 下层问题 2 运行结果
  • 申泰勇教练的独家人物化身系列即将登陆 The Sandbox

    申泰勇 Shin Tae yong 教练是足球界的传奇人物 他来到 The Sandbox 推出了自己的专属人物化身系列 作为前 K 联赛中场球员和印尼队取得历史性成就的幕后教练 他的传奇经历现在已经影响到了虚拟世界 向过去 现在和未来致敬
  • 最新整理Java面试八股文,大厂必备神器

    在看这篇文章之前 我想我们需要先搞明白八股文是什么 明清科举考试的一种文体 也称制义 制艺 时文 八比文 八股文章就四书五经取题 内容必须用古人的语气 绝对不允许自由发挥 而句子的长短 字的繁简 声调高低等也都要相对成文 字数也有限制 八股
  • 计算机Java项目|基于SSM的篮球系列网上商城设计与实现

    作者简介 Java领域优质创作者 CSDN博客专家 CSDN内容合伙人 掘金特邀作者 阿里云博客专家 51CTO特邀作者 多年架构师设计经验 腾讯课堂常驻讲师 主要内容 Java项目 Python项目 前端项目 人工智能与大数据 简历模板
  • 计算机Java项目|学生成绩管理系统

    作者简介 Java领域优质创作者 CSDN博客专家 CSDN内容合伙人 掘金特邀作者 阿里云博客专家 51CTO特邀作者 多年架构师设计经验 腾讯课堂常驻讲师 主要内容 Java项目 Python项目 前端项目 人工智能与大数据 简历模板
  • JCMsuite应用:光学环形谐振腔模拟

    本案程演示了环形谐振腔的模拟 这种类型的集成光子器件 例如用作升 降滤波器或在传感应用中 当物质或粒子附着在环上时 通过测量其共振频率的位移来检测 对于集成光子电路中的无源光器件 s矩阵通常是研究的热点 它描述了通过端口 波导进入设备的电磁
  • 【卡尔曼滤波】具有梯度流的一类系统的扩散映射卡尔曼滤波器研究(Matlab代码实现)

    欢迎来到本博客 博主优势 博客内容尽量做到思维缜密 逻辑清晰 为了方便读者 座右铭 行百里者 半于九十 本文目录如下 目录 1 概述 2 运行结果 3 参考文献 4 Matlab代码 数据 文章
  • 详解toLowerCase(判断字符串相等)

    一 toLowerCase 函数简介 toLowerCase 是一个在多个编程语言中都存在的字符串方法 它的作用是将字符串中的所有大写字母转换为对应的小写字母 常用于文本处理 搜索和比较等情况 以确保字符串的一致性和非大小写敏感的操作 二
  • 【go语言】读取toml文件

    一 简介 TOML 全称为Tom s Obvious Minimal Language 是一种易读的配置文件格式 旨在成为一个极简的数据序列化语言 TOML的设计原则之一是保持简洁性 易读性 同时提供足够的灵活性以满足各种应用场景 TOML
  • 初学者如何快速入门Python(内附详细攻略),一文讲清

    目前python可以说是一门非常火爆的编程语言 应用范围也非常的广泛 工资也挺高 未来发展也极好 Python究竟应该怎么学呢 我自己最初也是从零基础开始学习Python的 给大家分享Python的学习思路和方法 一味的买书看书 看视频 是
  • 2024年华为OD机试真题-分割均衡字符串-Python-OD统一考试(C卷)

    题目描述 均衡串定义 字符串只包含两种字符 且两种字符的个数相同 给定一个均衡字符串 请给出可分割成新的均衡子串的最大个数 约定字符串中只包含大写的 X 和 Y 两种字符 输入描述 均衡串 XXYYXY 字符串的长度 2 10000 给定的
  • 计算机Java项目|有机蔬菜商城

    作者简介 Java领域优质创作者 CSDN博客专家 CSDN内容合伙人 掘金特邀作者 阿里云博客专家 51CTO特邀作者 多年架构师设计经验 腾讯课堂常驻讲师 主要内容 Java项目 Python项目 前端项目 人工智能与大数据 简历模板

随机推荐

  • Linux内核编译和安装

    下载对应的linux内核源码 The Linux Kernel Archives 2 传输到要安装内核的服务器系统中的对应根目录下 usr src scp p 端口号 源文件 username IP地址 例如 scp p 8090 linu
  • 验证实例的有效性与类型的判断

    我们常常会用到指针变量 指针只有赋值以相应的实例才有意义 怎么判断指针引用实例的有效性是我们经常面对的一个问题 我现在 只知道两种方法 列举如下 1 ASSERT VALID pMyObject ASSERT VALID 要判断的类必须是C
  • PTA-找完数(C语言)

    所谓完数就是该数恰好等于除自身外的因子之和 例如 6 1 2 3 其中1 2 3为6的因子 本题要求编写程序 找出任意两正整数m和n之间的所有完数 输入格式 输入在一行中给出2个正整数m和n 1
  • java field_Java Field.get()取得对象的Field属性值

    首页 gt 基础教程 gt 反射 gt Reflection API Java Field get 取得对象的Field属性值 定义 public Object get Object obj 1 如果字段不是静态字段的话 要传入反射类的对象
  • win10修改系统字体(替换OneNote中Calibri字体)

    微软的OneNote还是很好用的 但是字体问题一直是一个吐槽点 我自己就去微软官网吐槽了好几次 然而并没有什么用 我说设置默认字体为consolas完全无法生效 再次输入笔记时 中文自动改为微软雅黑 英文就是Calibri 他们回复我说确实
  • 递归实现逆序输出(C)

    一 概念 程序调用自身的编程技巧称为递归 recursion 递归做为一种算法在程序设计语言中广泛应用 一个过程或函数在其定义或说明中有直接或间接调用自身的一种方法 它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解
  • diffusion model(三)—— classifier guided diffusion model

    系列阅读 diffusion model 一 DDPM技术小结 denoising diffusion probabilistic diffusion model 二 DDIM技术小结 diffusion model 三 classifie
  • 公司不重视软件测试,新来的阿里P8给我们撰写了测试用例编写规范

    测试用例 Test Case 是指对一项特定的软件产品进行测试任务的描述 体现测试方案 方法 技术和策略 其内容包括测试目标 测试环境 输入数据 测试步骤 预期结果 测试脚本等 最终形成文档 1 能看懂需求文档 找准测试测试依据 作为测试人
  • 29.手把手系列之二进制部署高可用k8s集群

    29 手把手系列之二进制部署高可用k8s集群 二进制部署高可用k8s集群 本章节采用纯二进制文件方式部署https 证书有效期为10年 高可用k8s集群 所有涉及的配置文件和镜像均已提供 另外 默认集群规模可支撑254个节点 如果需要调整
  • MyBatis自定义映射resultMap

    目录 一 字段名与属性名不一致 方法一 方法二 方法三 二 处理多对一映射关系 1 级联属性赋值 用的不多 虽然简单 2 Association 3 分步查询 三 处理一对多映射关系 1 collection 2 分步查询 一 字段名与属性
  • 《成年人の骚话大全》

    现在的年轻人 骚气得很 不仅为人性格闷骚 网上冲浪时更是满嘴骚话 今天我们来看看 在网民的集体智慧下 究竟有哪一些旧词被 骚 出了新意吧 扫码关注公众号 肉眼品世界 若要问 什么东西能够准地捕捉当代人的复杂想法 同时又能让接受信息的一方快速
  • specCPU 2006 备忘

    前言 首先 specCPU是收费的 好像是800 还是1000 缴费了才有软件分发给你 关键是你要提交结果 那估计得需要购买了 因为测试报告里面有个序列号 应该是购买后给的一个号 测试的时候也要写到配置文件里 但是个人1测试或者普通项目摸底
  • 秒杀多线程第一篇 多线程笔试面试题汇总

    http blog csdn net morewindows article details 7392749
  • linux文件权限修改

    chmod u g o r w x 1 c 权限命令符 第一权限 第二权限 第三权限 加权 减权 唯一权限 读权 写权 可执行权 文件名 总权限 a all 可替换u g o R 4 w2 x1 可以用三个数字设置权限 例如777表示权限全
  • 浏览器窗口切换(从一个页面切换到另一个页面并且不刷新)

    从一个页面跳转到另一个浏览器打开过的页面 只有通过window open 打开的同源页面才能相互切换 window open javascript name 第一项参数 javascript 后可添加js 代码也会执行 第二项参数 name
  • Linux驱动入门(6.0)--- Linux驱动与设备的匹配规则

    前言 1 因为在Linux驱动开发中 驱动可以和设备c文件文件进行匹配 也可以和设备树dts文件进行匹配 为了弄明白驱动与他们的匹配规则 我查阅了一些资料同时阅读了源码 最终打算使用图片的方式形象具体的写成博客 2 网上的资料基本都大同小异
  • android 清空sp,Android SP的具体内容

    username findViewById R id username 输入账户的 password findViewById R id password 输入密码的 CheckBox checkBox findViewById R id
  • git release功能

    命令行 git tag a v3 0 m 这是4 0版本 git push origin v3 0 git tag a 标签名称 m 说明 git push origin 标签名称 删除tag git tag d v1 1 删除本地tag
  • 7-2二分查找(折半查找)

    描述 已知一个有n个元素的从小到大排列的整数序列 序列中的数据没有重复 现在要查找一个给定的值key 输出key在此序列中出现的位置 例如 在序列 1 2 3 5 8 9 12 21 37 49 55 613 中 查找5的结果是4 表示找到
  • 猜数字游戏——C语言

    写一个猜数字游戏 要求 1 自动产生一个1 100之间的数字 2 猜数字 a 猜对了 恭喜你游戏结束 b 你猜错了 告诉你猜大了 还是猜小了 继续猜 直到猜对 3 可以一直玩 直到退出游戏 游戏设计 1 游戏框架设计 menu 游戏菜单 p