c++ 에 관한 문제가 있는데 막힙니다. 꼭 도와주세요~
낮선검객
1에서 20까지의 수 중에서 100개의 난수를 뽑아 뽑힌 수의 빈도수를 출력하는 문제입니다.
저는 이렇게 풀었습니다.
그런데 결과는 어떤 특정 수만 계속 100으로 나옵니다
뭐가 문제인가요?
무식한 방법으로 했지만 제 생각에는 문제가 없는거 같은데요
#includestdio.h
#includestdlib.h
#includetime.h
int main()
{
int a1=0, a2=0, a3=0, a4=0, a5=0, a6=0, a7=0, a8=0, a9=0, a10=0, a11=0, a12=0, a13=0, a14=0, a15=0, a16=0, a17=0, a18=0, a19=0, a20=0;
int i = 0;
for(i=1;i101;i++)
{
int Rnd_num = 0;
srand((unsigned)time(NULL));
Rnd_num = rand() %20+1;
if(Rnd_num==1)
{
a1++;
}
if(Rnd_num==2)
{
a2++;
}
if(Rnd_num==3)
{
a3++;
}
if(Rnd_num==4)
{
a4++;
}
if(Rnd_num==5)
{
a5++;
}
if(Rnd_num==6)
{
a6++;
}
if(Rnd_num==7)
{
a7++;
}
if(Rnd_num==8)
{
a8++;
}
if(Rnd_num==9)
{
a9++;
}
if(Rnd_num==10)
{
a10++;
}
if(Rnd_num==11)
{
a11++;
}
if(Rnd_num==12)
{
a12++;
}
if(Rnd_num==13)
{
a13++;
}
if(Rnd_num==14)
{
a14++;
}
if(Rnd_num==15)
{
a15++;
}
if(Rnd_num==16)
{
a16++;
}
if(Rnd_num==17)
{
a17++;
}
if(Rnd_num==18)
{
a18++;
}
if(Rnd_num==19)
{
a19++;
}
if(Rnd_num==20)
{
a20++;
}
}
printf(1의 횟수는 %d\n, a1);
printf(2의 횟수는 %d\n, a2);
printf(3의 횟수는 %d\n, a3);
printf(4의 횟수는 %d\n, a4);
printf(5의 횟수는 %d\n, a5);
printf(6의 횟수는 %d\n, a6);
printf(7의 횟수는 %d\n, a7);
printf(8의 횟수는 %d\n, a8);
printf(9의 횟수는 %d\n, a9);
printf(10의 횟수는 %d\n, a10);
printf(11의 횟수는 %d\n, a11);
printf(12의 횟수는 %d\n, a12);
printf(13의 횟수는 %d\n, a13);
printf(14의 횟수는 %d\n, a14);
printf(15의 횟수는 %d\n, a15);
printf(16의 횟수는 %d\n, a16);
printf(17의 횟수는 %d\n, a17);
printf(18의 횟수는 %d\n, a18);
printf(19의 횟수는 %d\n, a19);
printf(20의 횟수는 %d\n, a20);
return 0;
}