규칙성이 없이 임의로 생성되는 수
난수는 암호학이나 시뮬레이션, 게임 등에서 필수적
#include <Stdio.h>
#include <stdlib.h>
int main(void) {
int cnt; // 반복제어변수
printf(" 1~45 중에서 숫자 6개 출력 \n rand() : ");
for(cnt = 1; cnt <= 6; cnt++)
printf("%d",rand()); //범위를 지정하지 않은 출력
printf("\n rand() %% 45 : ");
for(cnt = 1; cnt <= 6; cnt++)
printf("%d",(rand() % 45)); // 0~44 사이의 값 출력
return 0 ;
}
printf("%d", 1+(rand()%45));
매번 난수를 다르게 생성하려면 시드(seed)를 다르게 함
현재의 시각은 시드로 사용하는 것이 일반적임
(현재 시각은 실행할 때마다 달라지기 때문)
srand() 함수 사용
#include <Stdio.h>
#include <stdlib.h>
#include <time.h>
#define MAX 45
int main(void) {
int i;
srand( (unsigned)time(NULL) );
for(i=0; i < 6, i++)
printf("%d", 1+rand()%MAX);
return 0;
}
#include <Stdio.h>
#include <stdlib.h>
#include <time.h>
int coint_try(void);
int main(void) {
int try,fronts = 0, backs=0;
srand((unsigned)time(NULL));
for(try=0;try<70;try++) {
if(coin_try()==1)
fronts++;
else
backs++;
}
printf("동전 앞면 출현 횟수:%d \n",fronts);
printf("동전 뒷면 출현 횟수:%d \n",backs);
}
int coin_try(void) {
int i = rand() % 2
if(i==0) return 0;
else return 1;
}