본문 바로가기

C

[C언어] 실습: Lotto 번호 무작위 추첨하는 프로그램 구현하기 1 (7개의 번호 rand() 함수로 뽑아내기)

반응형

Lotto 번호 무작위 추첨하는 프로그램 구현하기 1

(7개의 번호 rand() 함수로 뽑아내기)


#include<stdio.h>
#include<stdlib.h>   // srand(), rand()
#include<time.h>     // time()

int main(void){

   int lotto[7];
   srand(time(NULL));   // seed 값을 변경시킨다.

   for(int i = 0; i < 7; ){
      lotto[i] = rand() % 45 + 1;   // 1 ~ 45까지의 난수를 발생시킨다.

      int j;                               // j for 문 바깥에서 변수 j를 사용하기 위해 바깥에서 변수 선언 해준다.
      for(j = 0; j < i; ++j){
         if(lotto[i] == lotto[j]) break;   // lotto[i](이전에 입력된 값)와 lotto[j](현재 입력한 값)이 같으면 안쪽 for문을 나온다.
      }

      if(i == j) ++i;   // 저장된 값들이 모두 같지 않으면 i와 j의 값은 같게된다.
                        // 그리고 이때, 다음값을 입력하기 위해 i를 +해준다.
   }

   for(int i = 0; i < 7; ++i)
      printf("%3d ", lotto[i]);
   printf("\n");

   return 0;
}

 

반응형