我在Windows上使用Dev C++ GCC編譯器。我用這個代碼爲我的隨機數發生器,它打印由0的10張隨機數和1隨機數發生器代碼問題
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int main()
{
int i,n;
int arr[50];
//int z=0,o=0;
//time_t t;
printf("Enter the no of binary random nos you want");
scanf("%d",&n);
//initializes the random number generator
srand(time(NULL));
//print the random numbers
printf("The random numbers are: ");
for(i=0;i<n;i++);
{
arr[i]=rand()%2;
printf("%d",arr[i]);
}
return (0);
}
然而,只打印一個隨機數在同一時間,而不是10地指出我的錯誤將是任何幫助讚賞
重寫'for(i = 0; i
chux
開始使用調試器。你會立即發現。 – Olaf
注意'rand'通常被實現爲一個線性同餘發生器,LCG在最後一位出現了非常糟糕的行爲,並且使用'rand()%2'選擇了最後一位...您最好選擇有點從中間,甚至更好,以避免「蘭特」。 – pjs