当前位置:文档之家› C语言产生随机整数的方法

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

产生随机整数的方法:
#include <time.h>
#include <stdlib.h>
……
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;
}。

相关主题