c++生成随机数(猜数字游戏)

news2024/11/18 17:40:54

如果之前学过python的小伙伴看到随机数这个知识点肯定会觉得很简单,但是c++的随机数就需要注意一些小细节了~

先来给大家展示一下python的随机数:

import random #导入随机数库 
a=random.randint(100,200)#随机100-200之间的数字            

以下是c++的:

#include<iostream>
#include<ctime>
#include<cstdlib>
//也可以直接使用万能头
using namespace std;
int main(){
	srand(int(time(0)));
	int a;
	a=rand()%100+100;//随机100-200之间的数字
	cout<<a;
	return 0;
}

通过以上内容可以看到c++相较于python增加了一些库的使用,那为什么要增加这些库呢?

首先在C++中,可以使用rand()函数产生随机数。(rand()函数的头文件在<cstdlib>中)
在这里插入图片描述

可以看到生成的数字基本都比较大,如果想产生在一定范围内的数,可以用取余的方法获得。

如果想生成0—100之间的数字:
在这里插入图片描述

如果想生成100-200之间的数字,我们只需要在刚刚生成的数字后面加上100即可:

在这里插入图片描述

仔细观察这三张图片生成的数字,可以发现最后的两位数都是一样的。大家可能会好奇,为什么会这样呢?我想生成的明明是随机的。。。

这是因为虽然rand()产生的数是随机数,但是这些输出的结果在定义之后是不会再变化了,也就是固定了,每次重新编译后输出的结果是相同的。

那如果我们想每次编译后的结果不一样怎么办?

我们就需要利用到srand()函数

不过在此之前,需要介绍另一个函数time()(头文件在<ctime>中)

time(0)可以输出一个与时间有关的数,再结合srand()函数即可产生真正的随机数

(因为time时间每次都是变化着的,我们把时间当作随机数的种子种下去,这样每次生成的数字才是不一样的。程序如下:)

在这里插入图片描述

以上就是我们今天的所有内容啦,下面的程序是我写的一个猜数字游戏,大家可以自己拿去玩一下。

#include<iostream>
#include<cstdlib>
#include<ctime>
using namespace std;
int main(){
	srand(int(time(0)));
	int a,b;
	a=rand()%100+100;
	for(int i=1;i<=3;i++){
		cin>>b;
		if(b>a){
			cout<<"猜大啦~"<<endl;
			cout<<"小主您还有"<<3-i<<"次机会"<<endl;
		}
		else if(b<a){
			cout<<"猜小啦~"<<endl;
			cout<<"小主您还有"<<3-i<<"次机会"<<endl;	
		}
		else{
			cout<<"猜对啦~,恭喜小主胜利啦!!!"<<endl;
			break;
		}
	}
	cout<<"本次游戏的数字是"<<a<<endl;
	
	return 0;
}

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1109871.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【黑夜送书第一期】好书来袭,AI时代程序员/项目经理开发之道送3本~

&#x1f3c6;作者简介&#xff0c;黑夜开发者&#xff0c;CSDN领军人物&#xff0c;全栈领域优质创作者✌&#xff0c;CSDN博客专家&#xff0c;阿里云社区专家博主&#xff0c;2023年6月CSDN上海赛道top4。 &#x1f3c6;数年电商行业从业经验&#xff0c;历任核心研发工程师…

Elasticsearch:生成式人工智能带来的社会转变

作者&#xff1a;JEFF VESTAL 了解 Elastic 如何走在大型语言模型革命的最前沿 – 通过提供实时信息并将 LLM 集成到数据分析的搜索、可观察性和安全系统中&#xff0c;帮助用户将 LLM 提升到新的高度。 iPhone 社会转变&#xff1a;新时代的黎明 曾几何时&#xff0c;不久前…

毫米波雷达2-雷达的工作模式

文章目录 flash mode: 用于烧写functional mode: Power off the board and remove the jumper from only header SOP2 (this puts the board back in functional mode) flash mode: 用于烧写 functional mode: Power off the board and remove the jumper from only header SOP…

配电房环境智能监控系统:守护电力设施,保障安全运行

随着电力系统的日益复杂化&#xff0c;配电房的环境监控显得尤为重要。传统的监控方式已经无法满足现代配电房的需求&#xff0c;因此&#xff0c;配电房环境智能监控系统应运而生。 一、系统概述 力安科技电易云配电房环境智能监控系统是一款集成了环境参数监测、设备运行…

当AI遇上3D建模:一场创意与技术的完美碰撞!

在这个充满无限可能的时代&#xff0c;科技的发展日新月异&#xff0c;让我们见证了一场创意与技术的完美碰撞——AI与3D建模的结合。这种结合为我们开辟了一个全新的领域&#xff0c;让我们在虚拟世界中自由挥洒创意&#xff0c;为现实世界创造更多的可能性。 3D建模AI生成是…

Windows下定时下载Linux服务器的数据库备份文件(pscp+bat脚本+定时任务)

下载传输软件pscp Download PuTTY: latest release (0.79) 创建bat执行脚本 echo 删除旧的备份文件 del D:\db_bk\*.dbecho 下载新的备份文件 D:\Programs\pscp -P 22 -pw youPassword youName192.168.1.1:/home/backup/test.db D:\db_bk\ 设置定时任务 1.使用任务计划程…

2023年【天津市安全员C证】报名考试及天津市安全员C证操作证考试

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 天津市安全员C证报名考试是安全生产模拟考试一点通生成的&#xff0c;天津市安全员C证证模拟考试题库是根据天津市安全员C证最新版教材汇编出天津市安全员C证仿真模拟考试。2023年【天津市安全员C证】报名考试及天津市…

代码与细节(一)

在用到 Java17的新特性 Unmodifiable Lists 时不知道你是否和我有同样的惊讶 为什么弄了这么多重载方法&#xff1f; 先说结论&#xff1a;为了性能。 其实一细想&#xff0c;都能想明白&#xff1a;varargs(可变参数) 的背后是数组的内存分配和初始化&#xff0c;相比正常的…

36张图详解网络基础知识

下午好&#xff0c;我的网工朋友。 在网工这行&#xff0c;只要是面试&#xff0c;一般都难逃网络协议相关的问题吧。 不管是OSI还是TCP/IP&#xff0c;这都是非常重要、基础的知识&#xff0c;很多知识点都是以它们为基础去串联的。 作为网络世界的底层技术&#xff0c;掌握…

外贸行业常用英文邮件模板分享

外贸邮件营销可以帮助企业扩大客户群、提高客户忠诚度、降低营销成本、提高营销效果、增强客户沟通和提高客户满意度等方面具有重要作用和优势&#xff0c;U-Mail邮件营销平台给大家分享一些外贸企业常用的英文邮件模板 以下是一些英文邮件模板案例&#xff0c;供您参考&#x…

使用Axure RP和内网穿透技术制作静态站点并实现公网访问

文章目录 前言1.在AxureRP中生成HTML文件2.配置IIS服务3.添加防火墙安全策略4.使用cpolar内网穿透实现公网访问4.1 登录cpolar web ui管理界面4.2 启动website隧道4.3 获取公网URL地址4.4. 公网远程访问内网web站点4.5 配置固定二级子域名公网访问内网web站点4.5.1创建一条固定…

【LeetCode:1726. 同积元组 | 哈希表】

&#x1f680; 算法题 &#x1f680; &#x1f332; 算法刷题专栏 | 面试必备算法 | 面试高频算法 &#x1f340; &#x1f332; 越难的东西,越要努力坚持&#xff0c;因为它具有很高的价值&#xff0c;算法就是这样✨ &#x1f332; 作者简介&#xff1a;硕风和炜&#xff0c;…

Echarts:双折线图的值一样,高度却不一样

问题 在使用Echarst绘制双折线图的时候&#xff0c;2条线在相同的横坐标下&#xff0c;y轴的值是一样的&#xff0c;但是展示在图上的时候2条折线在那个横坐标值下的高度却不一样即xx1时&#xff0c;y12&#xff0c;y22&#xff0c;但是显示在图上的却是&#xff1a;xx1时&…

Kafka Tool(Kafka 可视化工具)安装及使用教程

Kafka Tool&#xff08;Kafka 可视化工具&#xff09;安装及使用教程 Kafka Tool 工具下载 下载地址 http://www.kafkatool.com/download.html 下载界面 不同版本的Kafka对应不同版本的工具&#xff0c;个人使用的是2.11&#xff0c;所以下载的是最新的2.0.8版本&#xff…

璞华科技再次赋能,助力成都市温江区“码”上维权不烦“薪” !

科技赋能护“薪”行动 “码”上维权不烦“薪” 为保障劳动者工资收入的合法权益&#xff0c;提升人社部门智能化咨询服务能力&#xff0c;2023年10月17日&#xff0c;成都市温江区人力资源和社会保障局发布“码上护薪”小程序&#xff0c;助力劳动者“码”上维权不烦”薪”。…

Ant Design Form表单组件手动清楚校验信息(提示文字及红框)

出现场景 当我们的表单项是按条件验证的情况&#xff0c;或者该表单项是不可编辑然后是关联赋值&#xff08;比如选择某个下拉框&#xff0c;赋上关联值&#xff09;&#xff0c;并且你还先点击了按钮进行验证&#xff0c;那么即使赋上了值也不能触发该表单二次验证。所以就需…

ZGC关键技术分析

一、引言 垃圾回收对于Javaer来说是一个绕不开的话题&#xff0c;工作中涉及到的调优工作也经常围绕垃圾回收器展开。面对不同的业务场景没有一个统一的垃圾回收器能保证可GC性能。因此对程序员来说不仅要会编写业务代码&#xff0c;同时也要卷一下JVM底层原理和调优知识。这种…

tika解压遇到压缩炸弹如何继续解压

1.问题 项目中要对10层压缩的zip、7z等文件用tika解压遇到错误&#xff1a;tika zip bomb detected 也就是说tika认为这是个压缩炸弹。 “压缩炸弹”是一个压缩包文件的木马程序&#xff0c;通常只有几百KB&#xff0c;解压后会变成上百MB或者上GB庞然大物。把你本地磁盘占满…

PTE-精听学习(三)

目录 WFD 答题技巧 多写单词不扣分数 RS 只有三秒钟准备时间 空挡时间1-2秒钟 WFD 犹豫 扣分点 fluency 单词一致顺序也是一致 总会有题目简单到有短又容易理解 预测的命中率 抽屉理论 印度发音其实是算标准的 反正就是归于模仿 影子跟读法 打拍子 看前缀…

UE4 Ultradynamicsky进行地面交互

第一步&#xff1a; 找到地面材质&#xff0c;进入地面材质 找到该节点 找到之前本该连在这里的&#xff0c;现在连到这个节点上&#xff0c;然后把这个节点的输出连到材质输出节点上 新建一个物理材质 然后给过来 找到Ultra_Dynamic_Weather&#xff0c;把Enable Dynamic Lan…