#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int main()
{
int i=1;
int r1=rand();
while(i<6)
{
printf("没设种子r1=%d\n",r1);//伪随机数(不变 41-srand(1))
i++;
}
//播种一次,rand()终身随机-可理解为:一劳永逸 or 终生服务
srand(time(NULL));//给rand()设置set 种子
int r2=rand();
i=1;
while(i<5)
{
printf("srand(time(NULL))=%d\n",r2);
r2=rand();//注意该句不可少
i++;
}
printf("RAND_MAX=%ld\n",RAND_MAX);//在<stdlib.h>中 32767
//产生a~b区间上的随机数-a,b为整数 ,区间步长step==1
int a,b;
printf("please input a int,a=");
scanf("%d",&a);
getchar();
printf("please input a int,b=");
scanf("%d",&b);
getchar();
int r3=rand()%(b-a+1)+a;
/*
why?
(b-a+1)为[a,b]上元素个数,如[3,5]-个数为3 ---取模
则rand()%(b-a+1)==0 or 1 or 2 均<3
加a后 3 4 5
ok!想必聪明的你已经get到了
*/
printf("output some random numbers>>>\n");
i=1;
while(i<6)
{
printf("a num between a and b is %d\n",r3);
r3=rand()%(b-a+1)+a;
i++;
}
getchar();
return 0;
}