난수발생 코드

2010. 8. 29. 14:30

#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int main(){
 int i;
 srand(time(NULL));
 for(i=1;i<=5;i++){                 //5개의 난수가 생성된다.
  printf("%d\n",rand()%10);  //0부터 9까지의 숫자난수를 출력한다.
 }
 return 0;
}


여기서
rand()함수가 난수를 발생시키는 함수입니다. rand()의 값은 0부터 32767(=2^15-1)의 정수로 출력된다.
그런데 rand()함수는 난수를 발생시키기 위한 초기값(?) 같은 숫자 시드를 설정할 필요하다.
안그러면 계속 같은 값만을 출력시킬 것이다.

그 시드를 설정하는 것이 srand()함수이다.
이때 임의의 값을 가지는 숫자로 적당한 것이 그 프로그램이 실행되는 시각인데 이는 time()함수로 얻을 수 있다.

rand() , srand() 함수는 <stdlib.h> 에 있고,
time() 함수는 <time.h> 에있다.

'C언어' 카테고리의 다른 글

곱하기 (100자리 자연수)  (2) 2010.11.24
최대원소 찾기  (0) 2010.07.17
인수분해 프로그램  (8) 2010.06.13
#include<stdio.h>  (0) 2010.06.13
Posted by h-bar
:
BLOG main image
by h-bar

공지사항

카테고리

안녕하세요 (55)
그냥... (25)
물리 (10)
수학 (10)
C언어 (5)
음악 (3)
퀴즈 (2)

최근에 올라온 글

최근에 달린 댓글

최근에 받은 트랙백

Total :
Today : Yesterday :