#include <stdio.h> //입출력에 필요한 헤더파일
#include <time.h> //랜덤함수에서 srand에서 time(NULL)을 쓸때 사용
#include <stdlib.h> //랜덤함수를 위한 헤더파일
int main()
{
int rand_num[10];
int r,input,flag=0;
printf("참가자의 수를 정하시오 : ");
scanf("%d",&input);
srand(time(NULL));
for(int i=0; i<3; i++){
r = (int)rand()%input+1;
for(int j=0;j<i;j++){
if(rand_num[j]==r){
i--;
flag=1;
}
}
if(flag==1){
flag=0;
continue;
}
rand_num[i]=r;
}
for(int i=0;i<3;i++)printf("\n%d번째 : %d\n",i+1,rand_num[i]);
return 0;
}
제가 만든 이벤트 프로그램은 로또처럼 무작위 수를 뽑는 프로그램입니다.
여기서 다른 부분은 전에 이벤트 프로그램 개발 초기 포스트에서 만들었는데요
거기에서 추가된점은 번호를 뽑을때 중복되는 숫자가 나오는 경우가 생겨서 그 경우를
방지하기위해 flag라는 변수를 이용해서 0일 때는 중복되는 숫자가 없으니 다음순서를
뽑아라이고, 1일때는 중복되는 수가 생겼으니 if문안에서 for문이 i가 3보다 작을때 까지
이므로 중복되면 다시 실행을 하면서 i가 올라가고 그로인해 1개 또는 2개만 뽑을 수 있
어서 i--를 통해 i를 줄여주고 continue로 밑에있는 코드를 무시하고 처음부터 실행시키도록
만들었습니다.
추첨은 제가 공정성을 위해 7시 ~ 7시 3초에 실행되는것을 동영상으로 찍은다음에 포스팅 하도록 하겠습니다^^
이벤트 신청기간 2017 07 13 목요일
링크 : https://steemit.com/kr/@kimdy/6pbdxe