在循环中生成相同的随机数序列

时间:2018-03-28 08:45:07

标签: c

准确的for循环。我尝试过使用srand()为循环播种,但它似乎并没有起作用。有人可以澄清播种部分吗?无论如何,有人可以指出我的错误吗?

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int main(){
    int a,b,c,d,loop1=0,loop2=1,count=0;
    srand(1);
    while(loop1!=1)
   {
        a=rand()%10;
        b=rand()%10;
        c=rand()%10;
        d=rand()%10;
        printf("%d %d %d %d\n",a,b,c,d);
        count+=1;
        if (count>3)
        {
            break;
        }
    }

return 0;        
}

输出应如下所示:

1 2 3 4
1 2 3 4
1 2 3 4

1 个答案:

答案 0 :(得分:3)

如果要在每次迭代中使用相同的序列,则需要在循环开始时设置种子:

while(loop1!=1) {
    srand(1);
    a=rand()%10;
    b=rand()%10;
    c=rand()%10;
    d=rand()%10;
    printf("%d %d %d %d\n",a,b,c,d);
    count+=1;
    if (count>3) {
        break;
    }
}