Tôi đã viết mã C dưới đây, khi tôi lặp lại, nó trả về một số ngẫu nhiên. Làm thế nào tôi có thể đạt được 5 giá trị ngẫu nhiên khác nhau nếu myrand() được thực thi?rand với hạt giống không trả về ngẫu nhiên nếu hàm looped
#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);
}
}
Hạt giống ** một lần ** trong cuộc sống của bạn, không phải lúc nào. –
Bạn đang khởi tạo trình tạo số ngẫu nhiên với cùng một số lặp đi lặp lại (miễn là 'thời gian (NULL)' trả về cùng một giá trị). Đừng làm điều đó nếu bạn muốn các con số trông giống như ngẫu nhiên. Cũng nên nhớ '#include' cho 'thời gian()' nguyên mẫu. –
pmg
có thể trùng lặp của [Số lặp lại luôn được đưa ra bởi rand()] (http://stackoverflow.com/questions/4859089/always-repeated-numbers-given-by-rand). Vui lòng sử dụng các cơ sở tìm kiếm của SO trước khi đặt câu hỏi. –