#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main ()
{
int i,randnumber;
int str[2][100]={0,};
srand((unsigned)time(NULL));
for(i=0;i<100;i++)
{
str[1][i]=i;
}
for(i=0;i<1000;i++)
{
randnumber=rand()/100;
str[0][randnumber]++;
}
for(i=0;i<100;i++)
{
printf("%d \t %d \n",str[1][i],str[0][i]);
}
}
rand함수를 1000번 돌렸을때 0~99까지의 숫자가 각각 몇번씩 나오는지 보려고 짠 프로그램인데 돌리면 이상하게 나오네요
str[1][] 여기에 0~99가 들어가고
str[0][] 여기에 각각 몇번 나왔는지 출력을 해야하는데
결과를 보면 str[1][]이 이상한 값이 출력되네요...
str[0]에 나온 결과들을 봐도 1000번이 돌아간거 같지도 않고
rand함수쪽에 문제가 있는거 같은데 좀 도와주세요ㅠㅠㅠ
str[0][randnumber]++;
이부분만 지우면 정상적으로 되는데 왜 그럼ㅠㅠㅠㅠㅠㅠㅠㅠ
randnumber=rand()/100;를
randnumber=rand()%100;
으로 바꿔보세요
아아아아아아 감사함다ㅠㅠㅠㅠㅠㅠ헷갈렸엇네요ㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠ