C语言产生随机整数的方法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
产生随机整数的方法:
#include
#include
……
srand((unsigned long)time(0)); /*产生随机数种子*/
a=rand()*limit/RAND_MAX; /*rand()在C语言中称为随机函数,它的功能是产生一个不超过RAND_MAX的随机非负整数,RAND_MAX是符号常量,代表整型最大值,即随机数的最大值 32767。limit变量表示随机数的范围。例如产生一个100以内的随机数rand()*100.00/ RAND_MAX */
b=rand()*limit/RAND_MAX;
a=rand()*limit/RAND_MAX;
计算机产生随机数,后一个是根据前一个产生的,这样第一个随机数称为种子。如果没有种子,计算机按默认计算,每次产生的数都一样。种子通常是利用系统时钟设定的:srand((unsigned long)time(0))
产生随机整数的模板:
#include "time.h"
#include “stdlib.h”
……
srand((unsigned long)time(0)); /*产生随机数种子*/
a=rand()*limit/RAND_MAX; //limit表示随机数范围0~limit。
b=rand()*limit/RAND_MAX;
a=rand()*limit/RAND_MAX;
【例题】两个随机数的加减法
#include "time.h"
#include "stdlib.h"
#include "stdio.h"
int main()
{
int a,b,z,limit; /* limit随机数的最大值——范围*/
printf("please input the limit\n");
scanf("%d",&limit);
while(1)
{
srand((unsigned long)time(0)); /*产生随机数种子*/ a=rand()*limit/RAND_MAX;
b=rand()*limit/RAND_MAX;
a=rand()*limit/RAND_MAX;
printf("%d+%d=",a,b);
scanf("%d",&z);
if((a+b)==z) printf("good!\n");
else printf("error!\n");
}
while(1);
return 0;
}