#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 |