U E D R S I H C RSS
ID
Password
Join
천재는 근면으로 길러진다. -키케로



Contents

1 난수?
2 예제

1 난수? #

  • C 표준 라이브러리에서는 일종의 주사위 역할을 하는 함수를 제공하고 있습니다. 주사위를 굴렸을 때 나오는 숫자와 같이 예측하기 힘든 임의의 수를 보통 "난수"라고 이야기합니다.
  • rand()와 srand() 함수가 바로 이런 역할을 담당합니다. 보통 다음과 같이 사용합니다.
    1. srand()를 사용하여 난수 장치를 내부적으로 초기화합니다. 보통 아래와 같은 명령을 고정적으로 사용합니다. 처음 프로그램이 시작할 때 한번만 해주면 됩니다.
      #include <stdio.h>
      #include <time.h>
      ...
      srand((unsigned)time(NULL));
      
    2. 초기화가 되었으면 rand() 함수를 사용하여 난수를 뽑아냅니다. (이는 마치 대략 3만개의 눈을 가진 주사위를 굴리는 것과 같습니다) 값은 0에서 32767(0x7FFF)사이의 숫자가 반환되므로 % 연산자를 사용하여 값의 범위를 조정할 필요가 있습니다.

2 예제 #

다음 예제는 10번 주사위를 굴려 그 값을 반환하는 예제입니다.
#include <stdio.h>
#include <time.h>

void main( void )
{
  int i = 0;

  srand( (unsigned)time( NULL ) );
  while( i < 10 ) {
    int random_number = rand();
    printf( "난수 %d : %d\n", i, random_number );
    i++;
  }
  system("PAUSE"); // 일시정지. 이것을 안하면 바로 종료해버립니다.
}

Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2010-10-28 12:42:52
Processing time 0.3573 sec