首页 > 其他分享 >猜数字游戏

猜数字游戏

时间:2024-07-22 19:54:38浏览次数:12  
标签:rand 函数 int 数字 随机数 printf include 游戏

代码实现在文章的结尾处

猜数字游戏

一、rand函数

(一)语法结构

rand();

(二)介绍

这个函数是用来生成伪随机数的,伪随机数并不是完全随机的,伪随机数是靠“种子”生成的.rand函数的使用要包含<stdlid>这个头文件

实例:

# include <stdio.h>
# include <stdlib.h>
int main() {
	int  a = rand();
	printf("%d\n", a);
	printf("%d", a);
	printf("%d", a);
	printf("%d", a);
	return 0;
}
//我们发现重复调用rand函数,生成的值不变

二、srand函数

rand函数产生的伪随机数是一样的,那我们怎么让他产生真的随机数呢,

那我们就要用到srand函数,这个函数是用来修改rand里种子的,种子不同,产生的随机数就不同

(一)语法结构

srand (unsigned int 给定的种子);

(二)利用time函数修改种子

1. time函数介绍

time函数的参数如果给定NULL的话,他返回的值就是1970年1⽉1⽇0时0分0秒到现在程序运⾏时间之间的差值

三、实现随机数的产生

(一)代码实现

#include <stdio.h>
#include <stdlib.h>
int main() {
	srand((unsigned int)time(NULL));
	printf("%d\n", rand());
	printf("%d\n", rand());
	printf("%d\n", rand());
	printf("%d\n", rand());
	return 0;
}
//这样我们就可以打印出真正的随机数

(二)限制随机数的范围

如果我们不限定rand函数的生成范围,那么生成范围就是0~RAND_MAX,RAND_MAX的大小取决于IDE,一般是32767

1. 思路

a ~ b的范围
a + rand()%(b-a+1)

四、猜数字游戏的实现

#include <stdio.h>  //添加几个头文件
#include <stdlib.h>
#include <time.h>

void menu()  //封装一个提示菜单界面的函数
{
	printf("      猜数字游戏    \n");
	printf("*****  1.paly  *****\n");
	printf("*****  0.exit  *****\n");
	printf("\n");
	printf("请输入您的选择:");
}

void game()  //封装游戏的主体
{
	int ans = rand() % 100 + 1;
	while(1)  //死循环,只有猜对了才退出循环,猜大了或猜小了都重新猜
	{
		int guess = 0;
		printf("%d", ans);
		//printf("答案在1-100之间,请输入你猜的值:");  //测试
		scanf("%d", &guess);
		if (guess > ans)
		{
			printf("猜大了\n");
		}
		else if (guess < ans)
		{
			printf("猜小了\n");
		}
		else
		{
			printf("恭喜你!猜对了!答案就是%d\n", ans);
			printf("\n");
			printf("\n");
			break;
		}
	}
	
}
int main()
{
	int sel = 0;  
	srand((unsigned int)time(NULL));  //利用时间戳修改rand函数的种子
	do
	{
		menu();
		scanf("%d", &sel);
		switch (sel)  //利用switch分支结构判断用户在菜单界面选择
		{
		case 1:
		{
			game();
			break;
		}
		case 0:
		{
			printf("游戏退出,欢迎下次游玩!");
			break;
		}
		default:
			printf("选择错误,请重新选择:\n");
			break;
		}
	} while (sel);  //选择为其他数时,条件判断为真,再进行循环
	return 0;
}

标签:rand,函数,int,数字,随机数,printf,include,游戏
From: https://blog.csdn.net/2401_83277519/article/details/140618145

相关文章

  • 《文明6》找不到d3d12.dll怎样处理?文明6游戏启动d3d12.dll丢失解决之道
    在尽情畅玩SidMeier’sCivilizationVI(文明6)这款广受欢迎的策略游戏过程中,部分玩家或许会在启动游戏时碰到提示“d3d12.dll文件丢失”的状况,这给游戏的正常运行带来了严重阻碍。d3d12.dll作为Direct3D12API的核心动态链接库文件,在游戏内的图形渲染与输出方面起着关键作用。本......
  • 如何修复《绝地求生》游戏缺失dxgi.dll文件怎么办?绝地求生启动时dxgi.dll文件缺失的解
    《绝地求生》(PlayerUnknown'sBattlegrounds,PUBG)作为一款在全球范围内备受追捧的大逃杀类竞技游戏,凭借其紧张刺激的游戏体验和高度逼真的战斗环境,吸引了海量玩家。但部分玩家启动游戏时,可能会遭遇“dxgi.dll缺失”的错误提示,致使游戏无法正常开启。本篇将为大家带来dxgi.dll文......
  • 《Epic Games》启动显示找不到xinput1_3.dll怎么处理,Epic游戏平台提示缺失xinput1_3.d
    在通过EpicGames平台尽情畅玩各类精彩游戏的过程中,有部分玩家或许会不幸遭遇“找不到xinput1_3.dll”或者“xinput1_3.dll缺失”这样的错误提示。由此导致游戏无法顺利启动。这类问题的根源在于系统中缺少了一个被称作“xinput1_3.dll”的关键重要动态链接库文件,直接对游戏的......
  • 鼠标宏怎么设置?适合游戏玩家的通用鼠标宏工具分享
    在很多大型游戏当中,鼠标的操作效率成为决定游戏成败的因素之一。好用的鼠标及按键设置可以帮助玩家简化很多游戏操作步骤,轻松提升游戏操作效率。鼠标宏的出现使得人们在游戏、日常办公中带来极大地便利。今天小编将详细介绍鼠标宏在游戏种的作用以及常见的几种适用在游戏内的鼠......
  • 卷积神经网络CNN实战:MINST手写数字识别——数据集下载与网络训练
    数据集下载这一部分比较简单,就不过多赘述了,把代码粘贴到自己的项目文件里,运行一下就可以下载了。fromtorchvisionimportdatasets,transforms#定义数据转换,将数据转换为张量并进行标准化transform=transforms.Compose([transforms.ToTensor(),#转换为张量......
  • 快速大规模抓取 Facebook 粉丝页面的数字 ID
    许多Facebook粉丝页面现在采用以下格式-https://www.facebook.com/TiltedKiltEsplanade其中“TiltedKiltEsplanade”是页面所有者声称的名称的示例。但是,可以在https://www.facebook.com/feeds/page.php?id=414117051979234&format=rss20找到同一页面的RSS......
  • AttributeError:“游戏”对象没有属性“self.createTilemap”
    这是错误:File"e:\Pygame\main.py",line23,innewself.createTilemap()AttributeError:'Game'objecthasnoattribute'createTilemap'我使用此程序在名为config的单独代码上创建了一个Tilemap:importpygamefromspritesimport*fromco......
  • 【轨物洞见】数字技术创新简史
    工业革命以来,技术创新推动了每一波的产业浪潮,帮助人类走出康波萧条,度过经济危机。200多年,科技给我们带来了舒适的生活和无尽的财富。以信息技术为主导的第5次康波已经进入萧条期,人工智能技术将带领人类进入第6次康波周期,去迎接下一波的繁荣。我们将信息技术和人工智能技术划入......
  • 竖版H5摸鱼挂机游戏来啦!新版雷霆传奇详细图文架设教程
    前言这次给大家带来一款竖版H5摸鱼挂机游戏~想体验经典传奇的热血PK吗?想体验满级VIP的尊贵吗?想体验一刀99999的爽快吗?各种极品炫酷时装、坐骑、翅膀、宠物通通给你,就在新版雷霆传奇H5龙珠版本!没错,新版,老版的光柱版雷霆传奇也还开着,开服了快小三年了,款新版更加完善,玩法......
  • 字符串和数字过滤器
    什么是过滤器?实质上就是一个转换函数。变量可以通过“过滤器”进行修改,过滤器可以理解为是jinja2里面的内置函数和字符串处理函数。常用的过滤器有: 1、字符串的过滤器<body>{#当变量未定义时,显示默认字符串,可以缩写为d#}<p>{{name|default('Noname')}}</p>{#单词首......