我在下面写了这个C代码,当我循环时,它返回一个随机数.如果执行myrand(),如何实现5个不同的随机值?
#include <stdio.h>
#include <stdlib.h>
int myrand() {
int ue_imsi;
int seed = time(NULL);
srand(seed);
ue_imsi = rand();
return ue_imsi;
}
int main()
{
int value = 0;
int i=0;
for (i=0; i< 5; i++)
{
value =myrand();
printf("value is %d\n", value);
}
}
Run Code Online (Sandbox Code Playgroud)
Ara*_*raK 24
播种发生器应该进行一次(当然要生成每个随机数序列!):
#include <stdio.h>
#include <stdlib.h>
int main()
{
int seed = time(NULL);
srand(seed);
int value = 0;
int i=0;
for (i=0; i< 5; i++)
{
value =rand();
printf("value is %d\n", value);
}
}
Run Code Online (Sandbox Code Playgroud)
在循环之前将srand()调用移入main().
换句话说,拨打srand()一次然后rand()重复呼叫,不再进一步呼叫srand():
#include <stdio.h>
#include <stdlib.h>
int main()
{
int value = 0;
int i = 0;
srand(time(NULL));
for (i = 0; i < 5; i++)
{
value = rand();
printf("value is %d\n", value);
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
38221 次 |
| 最近记录: |