C语言产生随机整数的方法

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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;

}

相关文档
最新文档