随机数的生成
猜数字游戏的一个重要的考察点是: 随机数的生成。
这里我为大家找到一篇文章,里面详细讲解了,C语言提供的srand()函数和rand()函数的内容及用法,我把链接放在这里了。
[https://www.cnblogs.com/Camilo/archive/2013/09/21/3332279.html]
在猜数字游戏里,我们只需要知道并且会用
srand( (unsigned)time( NULL ) ); //初始化随机数
需要掌握的更多一点的功能就是自定义随机数选取的范围了,这里我摘抄下来了:
由于rand产生的随机数从0到rand_max,而rand_max是一个很大的数,那么如何产生从X~Y的数呢?
从X到Y,有Y-X+1个数,所以要产生从X到Y的数,只需要这样写:
k=rand()%(Y-X+1)+X;
这样,就可以产生你想要的任何范围内的随机数了。
猜数字游戏的实现
上面我们了解了随机数的生成,下面我们就说说猜数字游戏吧。
游戏规则:
电脑生成一个随机数a(在拟定的范围内)
玩家猜测,如果猜的数字比a大,就输入输大了,反之输小了,知道完全猜中,输出你猜对了!
很简单,while循环加条件判断即可!
直接上代码!
#include <stdio.h>
#include <stdlib.h>
#include <time.h> //注意引入srand()的头文件
int main()
{
srand(time(NULL));
int num = rand() % 100; //记住用法就好
while (1) {
int input;
printf("请输入你猜的数字: ");
scanf("%d", &input);
if (input > num) {
printf("猜的太大了~\n");
continue;
}
if (input < num) {
printf("猜的太小了~\n");
continue; //注意whlie循环的continue不能省略
}
printf("你好厉害~\n");
break;
}
system("pause");
return 0;
}
给大家展示一下效果: