猜数字游戏及rand()函数
Posted 且行且停且留心,静看明朝
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了猜数字游戏及rand()函数相关的知识,希望对你有一定的参考价值。
#include<stdio.h>
#include<stdlib.h>
int main()
{
short number;
short guess=0;
number=rand()%100;
number++;
printf("猜数字游戏\n");
printf("该数字在1到100之间\n");
while(guess!=number)
{
printf("请你输入所猜数字:");
scanf("%hd",&guess);
if(guess<number)
{
printf("小了\n");
}
if(guess>number)
{
printf("大了\n");
}
}
printf("你猜对了数字\n");
}
rand函数功能为获取一个伪随机数(伪随机数的概念下面会有介绍)。
一、函数名:
rand();
二、声明:
int rand();
三、所在头文件:
四、功能:
返回一个伪随机数。之所以说是伪随机数,是因为在没有其它操作下,每次执行同一个程序,调用rand得到的随机数序列是固定的(不是真正的“随机”)。
五、为了使rand的结果更“真”一些,也就是令其返回值更具有随机性(不确定性),C语言在stdlib.h中还提供了srand函数,通过该函数可以设置一个随机数种子,一般用当前时间的毫秒数来做参数。通过time(NULL)可以获取到当前时间的毫秒值(该函数位于time.h)中。
六、使用rand的流程可以总结为:
1 调用srand(time(NULL))设置随机数种子。
2 调用rand函数获取一个或一系列随机数。
需要注意的是,srand只需要在所有rand调用前,被调用一次即可,没必要调用多次
如果希望rand()在每次程序运行时产生的值都不一样,必须给srand(seed)中的seed一个变值,这个变值必须在每次程序运行时都不一样(比如到目前为止流逝的时间);否则,如果给seed指定的是一个定值,那么每次程序运行时rand()产生的值都会一样……
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int main()
{
short number;
short guess=0;
srand((unsigned)time(NULL));//随机数
number=rand()%100;
number++;
printf("猜数字游戏\n");
printf("该数字在1到100之间\n");
while(guess!=number)
{
printf("请你输入所猜数字:");
scanf("%hd",&guess);
if(guess<number)
{
printf("小了\n");
}
if(guess>number)
{
printf("大了\n");
}
}
printf("你猜对了数字\n");
}
以上是关于猜数字游戏及rand()函数的主要内容,如果未能解决你的问题,请参考以下文章