rand函数的使用:
1.生成一个0~1之间的小数
方法一:利用两个数相除
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define N 100//精度是小数点后两位
int main(){
srand((unsigned)time(NULL));
for (int i = 0; i < 10; ++i)
{
printf("%0.2f\n",rand()%N/(float)N);
}
return 0;
}
方法二:利用RAND_MAX
stdlib.h中有#define RAND_MAX 0x7fffffff
不同的位数的电脑的RAND_MAX数值不同
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main(){
srand((unsigned)time(NULL));
for (int i = 0; i < 10; ++i)
{
printf("%0.2f\n",rand()/(RAND_MAX+1.0));
}
return 0;
}
2.生成[a,b]内的整数
以[2,10]为例
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main(){//2到10
srand((unsigned)time(NULL));
for (int i = 0; i < 50; ++i)
{
printf("%d\n",rand()%9+2);
}
return 0;
}