用c++生成随机数 为什么每次结果都一样 如何控制结果在0~1000之内
答案:4 悬赏:20 手机版
解决时间 2021-04-01 21:32
- 提问者网友:你挡着我发光了
- 2021-03-31 22:10
用c++生成随机数 为什么每次结果都一样 如何控制结果在0~1000之内
最佳答案
- 五星知识达人网友:拾荒鲤
- 2021-03-31 23:45
1 C++的随机数函数rand是一个伪随机数,从固定的初始种子计算得出。所以每次运行获取到的随机数序列是相同的。要解决这一问题,需要设置一个随机数种子,一般用当前时间作为种子。
代码为
srand(time(NULL));
2 要控制随机数的范围,可以使用模除操作,即%运算。
要控制结果在0~1000之间,可以使用代码
rand()%1001
具体代码如下:
#include
#include
#include
int main()
{
srand(time(NULL));
int a = rand()%1001;
cout <}
代码为
srand(time(NULL));
2 要控制随机数的范围,可以使用模除操作,即%运算。
要控制结果在0~1000之间,可以使用代码
rand()%1001
具体代码如下:
#include
#include
#include
int main()
{
srand(time(NULL));
int a = rand()%1001;
cout <}
全部回答
- 1楼网友:山君与见山
- 2021-04-01 01:47
同样求解
- 2楼网友:拜訪者
- 2021-04-01 01:17
a[i]=rand()%1001;
- 3楼网友:狂恋
- 2021-04-01 00:41
#include
#include
#include
int main()
{
int a[500];
int i=0;
srand(unsigned(time(NULL)));
for(;i<500;i++)//;这里多了一个分号
{
a[i]=rand()%1001;//这样就控制 在了0~1000范围内了
printf("%d\n",a[i]);
}
return 0;
}
#include
#include
int main()
{
int a[500];
int i=0;
srand(unsigned(time(NULL)));
for(;i<500;i++)//;这里多了一个分号
{
a[i]=rand()%1001;//这样就控制 在了0~1000范围内了
printf("%d\n",a[i]);
}
return 0;
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯