私の目標は、ユーザー (srand) から乱数を取得し、それを乱数ジェネレーター (rand) に供給して、1 から 10 までの乱数の 1000 回の反復を選択できるプログラムを作成することです。各数字が何回表示されたか (つまり、7 は 83 回表示されるなど)。
ユーザーから最初の数字を取得した後、1 から 10 までの 1000 個の数字をランダムに出力できますが、この出力を取得して配列にフィードする方法がわかりません。印刷。誰でも助けてもらえますか?
#include <stdio.h>
#include <stdlib.h>
int rand1(void);
void srand1(unsigned int seed);
int main()
{
int rand_array[1000];
int count;
int start=1;
int end=10;
int number_var;
int ones=0;
int twos=0;
int threes=0;
int fours=0;
int fives=0;
int sixes=0;
int sevens=0;
int eights=0;
int nines=0;
int tens=0;
int frequency[11];
int i=0;
unsigned seed;
printf("Please enter your choice for seed.\n");
printf("(between 1-10)");
while (scanf("%u", &seed) == 1)
{
srand1(seed);
for(i=0; i < 1000; i++)
{
rand_array[i]=rand1()%(end-start+1)+start;
frequency[rand_array[i]]++;
}
for(i = 1; i < 11; i++)
{
printf("There are %d %d's\n", frequency[i], i);
}
}
return 0;
}
int rand1(void)
{
static unsigned long int next = 1;
next = next * 1103515245 + 12345;
return (unsigned int) (next/65536) % 32768;
}
void srand1(unsigned int seed)
{
static unsigned long int next = 1;
next = seed;
}