srand
と を使用して乱数を生成しようとしていrand
ます。ここでは、特定の桁数を生成したいと考えています。ある時点でプログラムを実行しているときに、5 桁の数値を生成するように要求すると、目的の出力が得られません。
私のコードは
for(k=0;k<n;k++)
{
temp = temp*10;
}
srand(time(NULL));
i = rand()%temp;
printf("%d\n",i);
k = 0;
temp = n;
while(i != 0)
{
arr1[n+k] = i%10;
i = i/10;
n--;
}
出力
Number of digits you want : 5
2031
while loop 1
while loop 3
while loop 0
while loop 2
N is 1
arr1[1] = 10651312
arr1[2] = 2
arr1[3] = 0
arr1[4] = 3
arr1[5] = 1
必要な桁数を取得するための問題はどこにあるのか教えてください。
Edit
私はそのコードを約100回実行しましたが、そのうち4回は機能しませんでした。残りは問題ありません...