猜数字小游戏,超级简单就可以实现哦
Posted LYH_1_
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了猜数字小游戏,超级简单就可以实现哦相关的知识,希望对你有一定的参考价值。
随机生成一个0-100的数字,让人去猜,如果没猜对,会自动提示猜大了还是猜小了。
重点:这里的重点是如何生成0-100的随机数,这里调用了一个库函数。
1,rand()函数
rand()函数生成一个随机数前,要有准备工作,要先调用srand()函数
2,其中srand()函数要传入一个不断变化的值,rand()函数才可以生成一个完全随机的数,
这当然是不行的,于是第三步。
3,time()函数,他的返回值是一个和计算机屏幕时间 有一个固定转换的值,而计算机时间是不断的一秒一秒变化的,所以time()函数的返回值也就不断变化了,srand()函数要的那个不断变化的值也就有了。 srand((unsigned int)time(NULL)),其中(unsigned int)是time()函数的返回类型强转,使之与srand要传的参类型相同。给time()传了NULL一个空指针是因为time()函数要求传指针的。
4,最后调用前面都准备好之后,调用5rand()函数就可以生成一个随机数了
5,rand()%100+1就是0-100的随机数了。
需要注意的是,rand()函数要生成一个完全随机的数还要先调用srand()函数
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
// 猜数字游戏
//*********************
void menue()
{
printf("***************************\\n");
printf("****** 1.play **********\\n");
printf("****** 0.exit **********\\n");
printf("***************************\\n");
}
void game()
{
int ret = 0;
int r= rand(NULL)%100+1;
while (1)
{
scanf("%d",&ret);
if (ret > r)
{
printf("猜大了\\n");
}
else if (ret < r)
{
printf("猜小了\\n");
}
else
{
printf("恭喜你,猜队了\\n");
break;
}
}
}
int main()
{
srand((unsigned int)time(NULL));
int input = 0;
do
{
menue();
printf("请选择>>>");
scanf("%d",&input);
switch (input)
{
case 1:
printf("开始游戏.猜一个0-100的数字\\n");
game();
break;
case 0:
printf("退出游戏\\n");
break;
default :
printf("输入错误,请重新输入\\n");
break;
}
} while (input);
return 0;
}
以下就是我玩一局游戏的过程
以上是关于猜数字小游戏,超级简单就可以实现哦的主要内容,如果未能解决你的问题,请参考以下文章