C语言【猜数字游戏】详解

2023-10-27

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

本文详细介绍了猜数字游戏的具体实现逻辑


一、猜数字游戏是什么?

1、电脑自动生成一个1-100以内的数字
2、我们输入一个我们猜的数字
3、如果我们猜的数字比电脑随机生成的数字大,那么输出(猜大了)
4、如果我们猜的数字比电脑随机生成的数字小,那么输出(猜小了)
5、如此循环往复,猜到正确的数字之后游戏结束

二、使用步骤

1.首先应该打印菜单

代码如下

void menu()
{
	printf("*********************\n");
	printf("***** 1. play *******\n");
	printf("***** 0. exit *******\n");
	printf("*********************\n");
}
int main()
{
	menu();
	printf("请选择:>");
	int input = 0;
	while (input)
	{
		switch (input)
		{
		case 1:
	        printf("游戏开始");
	        game()//选择开始游戏之后,进入我们玩游戏的一个逻辑
			break;
		case 0:
			printf("退出游戏");
			break;
		default:
			printf("输入错误,请重新输入!");
			break;
		}
	}
	
	return 0;
}

选择1,开始游戏
选择0,游戏结束

2.打印我们的game()函数来实现我们的游戏具体逻辑

代码如下:

void game()
{
	int guess = 0;
	
	int ret = rand() % 100 + 1;//限制我们得到的数字为1-100之间的数字
	while (1)//因为猜数字是一个多次的过程,因此需要一个循坏来解决
	{
		printf("请输入你猜的数字:>");
		scanf("%d", &guess);
		//将我们猜的数字与电脑随机生的数字作对比
		if (guess < ret)
		{
		//如果我们猜的数字比电脑的数字要小,输出猜小了
			printf("猜小了!\n");
		}
		else if (guess > ret)
		{
		//如果我们猜的数字比电脑的数字要大,输出猜大了
			printf("猜大了!\n");
		}
		else
		{
		//数字猜对了,输出猜对了
			printf("猜对了!\n");
			break;
		}
		
	}
	
}

注:

如果使用rand()函数,必须先调用srand()函数,再使用时间戳来形成一个随机数字。
我们调用时间戳,因此需要包含头文件
#include<time.h>

【时间戳】的概念:一个能表示一份数据在某个特定时间之前已经存在的、 完整的、 可验证的数据,通常是一个字符序列,唯一地标识某一刻的时间。
因此我们的main()函数部分就变成了如下代码所示:

int main()
{
	menu();
	printf("请选择:>");
	int input = 0;
	int n = 0;
	scanf("%d", &input);
	srand((unsigned int)time(NULL));
	//使用srand函数,接着使用时间戳,形成一个无符号整数
	//我们调用时间戳,因此需要包含头文件#include<time.h>
	while (input)
	{
		switch (input)
		{
		case 1:
			game();//猜数字游戏的的逻辑
			break;
		case 0:
			printf("退出游戏");
			break;
		default:
			printf("输入错误,请重新输入!");
			break;
		}
	}
	
	return 0;
}

总结

本文的重点是对于时间戳的理解,以及猜数字游戏的逻辑
下面是【猜数字游戏】的全部代码

猜数字游戏1-100
#include<stdio.h>
#include<time.h>
#include<stdlib.h>

void game()
{
	int guess = 0;
	int ret = rand() % 100 + 1;//限制我们得到的数字为1-100之间的数字
	//printf("%d",ret);
	while (1)
	{
		printf("请输入你猜的数字:>");
		scanf("%d", &guess);
		if (guess < ret)
		{
			printf("猜小了!\n");
		}
		else if (guess > ret)
		{
			printf("猜大了!\n");
		}
		else
		{
			printf("猜对了!\n");
			break;
		}
		
	}
	
}

void menu()
{
	printf("*********************\n");
	printf("***** 1. play *******\n");
	printf("***** 0. exit *******\n");
	printf("*********************\n");
}


int main()
{
	menu();
	printf("请选择:>");
	int input = 0;
	int n = 0;
	scanf("%d", &input);
	srand((unsigned int)time(NULL));
	while (input)
	{
		switch (input)
		{
		case 1:
			game();//猜数字的逻辑
			break;
		case 0:
			printf("退出游戏");
			break;
		default:
			printf("输入错误,请重新输入!");
			break;
		}
	}
	
	return 0;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C语言【猜数字游戏】详解 的相关文章

  • 如何将 SQL Server 数据库迁移到 Amazon RDS 实例

    Amazon SQL Server RDS 实例不支持从 bak文件恢复数据 因此 我将通过这篇文章来介绍如何通过简单的步骤将 SQL Server 数据库迁移到 Amazon RDS 实例 如果你看着AWS 迁移步骤它太复杂了 但是 Wi
  • 如何在 Ubuntu 22.04 上安装 .NET Core (dotnet)

    微软 NET核心是一个免费的开源软件框架 设计时考虑了 Linux 和 macOS 它是 NET Framework 的跨平台继承者 可用于 Linux macOS 和 Windows 系统 NET Core 6 是一个 LTR 版本 将在
  • 如何在 Linux 中搜索最近修改的文件

    本教程将帮助您通过命令行在 Linux 中查找最近修改的文件 find 命令允许我们以分钟或天为单位定义持续时间 分钟定义为 mmin天数可以定义为 mtime 您还可以定义搜索条件来查找在指定时间内或之前修改的文件 例如 要搜索之前修改过

随机推荐

  • 如何安装Go 1.20 CentOS/RHEL 9/8

    Go是一种开源编程语言 由以下团队开发Google 它提供了易于构建的简单 可靠且高效的软件 这种语言是为编写服务器而设计的 这就是它如今被广泛使用的原因 Go最近发布了最新版本1 20 本教程将帮助您在 CentOS 和 RHEL 9 8
  • 如何备份/恢复 MySQL 存储过程和触发器

    存储过程 and Triggers首先是在 MySQL 5 0 中引入的 因此 如果您仍在使用 MySQL 旧版本 请将其升级到 MySQL 5 0 或更高版本以使用这些功能 本文将帮助您了解如何使用以下命令转储存储过程和触发器 mysql
  • 兆字节 (MiB):了解基础知识和优点

    在当今的数字世界中 文件大小和存储容量已成为我们日常生活中不可或缺的一部分 无论我们是下载文件 上传数据 还是只是管理我们的设备 了解用于测量数字存储的单位都至关重要 Mebibyte MiB 就是这样的单位之一 由于它与更广为人知的兆字节
  • 在 CentOS 7 上使用 Let's Encrypt 保护 Nginx

    Let s Encrypt 是由互联网安全研究小组 ISRG 开发的免费开放的证书颁发机构 如今 Let s Encrypt 颁发的证书几乎受到所有浏览器的信任 在本教程中 我们将提供有关如何在 CentOS 7 上使用 certbot 工
  • 如何在 Debian 9 上安装 Ruby

    本教程将引导您完成在 Debian 9 系统上安装 Ruby 的步骤 Ruby 是当今最流行的语言之一 它具有优雅的语法 并且是强大的 Ruby on Rails 框架背后的语言 在 Debian 上安装 Ruby 有多种不同的方法 在以下
  • 如何在 Ubuntu 20.04 上安装 Mono

    Mono 是一个用于开发和运行基于 ECMA ISO 标准的跨平台应用程序的平台 它是 Microsoft NET 框架的免费开源实现 本教程介绍了在 Ubuntu 20 04 上安装 Mono 所需的步骤 先决条件 这些说明假定您以 ro
  • 如何在 CentOS 7 上安装 Django

    Django 是一个免费开源的高级 Python Web 框架 旨在帮助开发人员构建安全 可扩展和可维护的 Web 应用程序 有不同的方法来安装 Django 具体取决于您的需要 它可以在系统范围内安装 也可以使用 pip 安装在 Pyth
  • 如何在 Ubuntu 20.04 上安装 Anaconda

    Anaconda 是一个流行的 Python R 数据科学和机器学习平台 用于大规模数据处理 预测分析和科学计算 Anaconda 发行版附带 250 个开源数据包 并且可以从 Anaconda 存储库安装超过 7 500 个附加包 它还包
  • 如何在 Python 中将整数转换为字符串

    Python 有多种内置数据类型 有时 在编写 Python 代码时 您可能需要将一种数据类型转换为另一种数据类型 例如 连接一个字符串和整数 首先 您需要将整数转换为字符串 本文介绍如何将 Python 整数转换为字符串 Python s
  • 如何重置 MySQL 根密码

    您是否忘记了 MySQL root 密码 别担心 这发生在我们所有人身上 在本文中 我们将向您展示如何从命令行重置 MySQL root 密码 识别服务器版本 根据您系统上运行的 MySQL 或 MariaDB 服务器版本 您将需要使用不同
  • Bash printf 命令

    通常 在编写 bash 脚本时 我们使用echo打印到标准输出 echo是一个简单的命令 但其功能有限 要更好地控制输出的格式 请使用printf命令 The printf命令格式并打印其参数 类似于 Cprintf 功能 printf命令
  • 如何在 CentOS 7 上安装 Jenkins

    Jenkins是一个基于 Java 的开源自动化服务器 提供了一种设置持续集成和持续交付 CI CD 管道的简单方法 持续集成 CI 是一种 DevOps 实践 团队成员定期将代码更改提交到版本控制存储库 然后运行自动化构建和测试 持续交付
  • Linux 中的 Usermod 命令

    usermod是一个命令行实用程序 允许您修改用户的登录信息 本文介绍了如何使用usermod命令将用户添加到组 更改用户 shell 登录名 主目录等 usermod命令 的语法usermod命令采用以下形式 usermod option
  • 如何在 Ubuntu 18.04 上使用 UFW 设置防火墙

    正确配置的防火墙是整个系统安全最重要的方面之一 默认情况下 Ubuntu附带了一个名为UFW Uncomplicated Firewall 的防火墙配置工具 UFW 是一个用户友好的前端 用于管理 iptables 防火墙规则 其主要目标是
  • Python 模运算符

    模运算是一种算术运算 可求出一个数字除以另一个数字的余数 余数称为运算的模 例如 5除以3等于1 余数为2 8除4等于2 余数为0 Python 模运算符 在 Python 中 模运算符由百分号 语法如下 num1 num2 这是一个例子
  • Linux服务器上重置Mysql8密码

    前言 此流程适用于mysql 8版本 1 关闭数据库 1 关闭数据库 service mysqld stop 2 编辑配置文件 1 编辑文件 vim etc my cnf 输入 i 进入编辑模式 2 添加配置 skip grant tabl
  • ECSHOP文件结构系统简介

    原来做电子商务系统一直用zencart 后来虽然接触过一段时间magento 但是magento觉得还是挺高深的 前面两个比较多的用在外贸电子商务 特别是magento 可以说是开源电子商务系统中的豪华版 以后有时间的话再一起学习探讨一下
  • 通过App的演示深入理解区块链运行原理

    下载安装 如果没有安装nodejs 需要先安装 nodejs Clone this repository git clone https github com seanseany blockchain cli Go into the rep
  • 源码进阶之线程池

    写在前面 上次学习了多线程 了解了线程的概念和作用 学习了线程的创建方式 工作模式和一些重要的方法 当我们使用线程中 创建 销毁线程伴随着系统开销 过于频繁的创建 销毁线程 就会很大程度上影响处理效率 那么此时我们就引入了线程池的概念 即为
  • C语言【猜数字游戏】详解

    提示 文章写完后 目录可以自动生成 如何生成可参考右边的帮助文档 文章目录 前言 一 猜数字游戏是什么 二 使用步骤 1 首先应该打印菜单 2 打印我们的game 函数来实现我们的游戏具体逻辑 总结 前言 本文详细介绍了猜数字游戏的具体实现