로또 당첨번호를 생성하기 위해 1부터 45사이의 난수 6개를 함수(rand)를 이용하여 출력
// 1부터 45사이의 정수 난수를 출력
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int i;
for(i=1;i<=6;i++)
printf("%d\n", rand()%45+1);
return 0;
}
// 실행 결과
// 위의 프로그램을 두번 실행해 결과를 보면 첫번째와 두번째 실행결과가 같다.
실행할 때마다 같은 난수가 아닌 서로다른 난수를 생성하기 위해서는 새로운 라이브러리 함수를 추가해야 한다.
// 난수 초기화를 이용하여 서로 다른 난수를 생성
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main(void)
{
int i;
srand(time(NULL));
for(i=1;i<=6;i++)
printf("%d\n", rand()%45+1);
return 0;
}
// 실행 결과
// rand()를 이용하여 생성한 난수는 해당범위내의 숫자들에 대해서 나타날 확률이 모두 같기 때문에 한번의 실행에서
중복되는 난수가 발생할 수 있다.
// 난수를 중복되지 않게 생성하는 방법
로또 당첨번호 생성 프로그램
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main(void)
{
int i, r, j, random[7];
srand(time(NULL));
for(i=0;i<=6;i++)
{
again:;
r=rand()%45+1;
for(j=0;j<=i-1;j++)
if(r==random[j])
goto again;
random[i]=r;
}
for(i=0;i<=6;i++)
printf("%d\n", random[i]);
printf("\n");
return 0;
}
// 실행 결과
// 1부터 45사이의 정수 난수를 출력
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int i;
for(i=1;i<=6;i++)
printf("%d\n", rand()%45+1);
return 0;
}
// 실행 결과
// 위의 프로그램을 두번 실행해 결과를 보면 첫번째와 두번째 실행결과가 같다.
실행할 때마다 같은 난수가 아닌 서로다른 난수를 생성하기 위해서는 새로운 라이브러리 함수를 추가해야 한다.
// 난수 초기화를 이용하여 서로 다른 난수를 생성
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main(void)
{
int i;
srand(time(NULL));
for(i=1;i<=6;i++)
printf("%d\n", rand()%45+1);
return 0;
}
// 실행 결과
// rand()를 이용하여 생성한 난수는 해당범위내의 숫자들에 대해서 나타날 확률이 모두 같기 때문에 한번의 실행에서
중복되는 난수가 발생할 수 있다.
// 난수를 중복되지 않게 생성하는 방법
로또 당첨번호 생성 프로그램
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main(void)
{
int i, r, j, random[7];
srand(time(NULL));
for(i=0;i<=6;i++)
{
again:;
r=rand()%45+1;
for(j=0;j<=i-1;j++)
if(r==random[j])
goto again;
random[i]=r;
}
for(i=0;i<=6;i++)
printf("%d\n", random[i]);
printf("\n");
return 0;
}
// 실행 결과
'공부 > c언어' 카테고리의 다른 글
[c언어](연습문제) 구구단 문제를 함수 rand()를 이용하여 랜덤으로 출력 (0) | 2011.05.30 |
---|---|
[c언어] 0부터 1사이의 실수 난수를 출력(rand) (0) | 2011.05.25 |
[c언어] 현재 시간을 연속적으로 출력(kbhit, localtime) (0) | 2011.05.24 |
[c언어] 시간을 지연하는 함수와 프로그램 (Sleep) (0) | 2011.05.24 |
[c언어] 시간 차이의 계산. 소요시간을 계산 (0) | 2011.05.24 |