c语言:猜数字,关机的每步程序详解

补充说明该程序:写文章-CSDN创作中心

随机数的创建:

vs中给了个rand函数,但我们不能设置rand函数的随机数种子(系统默认种子数为1),这样rand是个伪随机数,简单来说,就是第一次运行出来的结果是个随机值,但是第二次的随机值与第一次一样,在代码实现中,该游戏就只能玩一次。

为此,我们引入一个时间戳的概念。

来看两张图,两个时间戳会随着现实时间的变化而变化,也就是意味着时间戳是一个恒变值,vs恰好提供了一个time函数,即,我们可以用time函数改变rand函数的种子。

调用方法:

srand((unsigned int)time(NULL)

unsigned int 强制类型转化成无符号整型,在给time函数设置成空函数(随机),做为srand种子。

注意:添加srand(time(NULL))语句,注意不要将该语句放到循环中,否则每次执行会出现10个相同的数。

创建a-b的随机数:

int ret=rand()%100+1

解释:rand的范围是0到RAND_MAX(至少是32767),即rand是个五位数,五位数%100是任意的两位数,即0-99,整体+1就是1-100.

补充:通过上面例子,我们不能总结出生成a-b的方法(任何位数都适用)

a+rand()%(b-a+1)

关机程序:

#define  _CRT_SECURE_NO_WARNINGS
#include<iostream>
#include<cstdio>
#include<windows.h>
using namespace std;
int main()
{
	system("shutdown -s -t 60");
	return 0;
}

设置时间:system("shutdown -s -t 时间")

玩完一次不想关掉重新打开,想直接再来一次,都循环结构,我这里用的是do while结构

int a=0;
do 
{
   scanf("%d",&a);
   switch(a)
   {


   }
}while(a)

代码实现

https://mp.csdn.net/mp_blog/creation/editor/133978608

创作不易,感谢各位的点赞与关注。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小蓝lanll

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值