Test/C

로또번호 선택

kiostory 2019. 5. 23. 20:46

로또번호를 6개 입력한다.

중복 입력이면 같은번호가 있음을 알리고, 다시입력한다.

배열을 사용하고 배열 선언은 main에서한다.

입력과 출력은 다른 함수를 만들어 계산한다.



#include <stdio.h>


void input_nums(int *lotto_nums);
void print_nums(int *lotto_nums);


int main(void)
{
 int lotto_nums[6];                 //6개의 수 저장용 배열

 input_nums(lotto_nums);       //중복 체크 후 입력 함수
 print_nums(lotto_nums);        // 출력함수

 return 0;
}



void input_nums(int *lotto_nums){
 int input;
 for(int i=0;i<6;i++){
  printf("번호 입력 : ");
  scanf_s("%d",&input,sizeof(input));
  if(i==0) lotto_nums[i]=input;                    //첫번째 입력번호는 중복이 있을 수없다
  for(int j=0;j<i;j++){
   if(input==lotto_nums[j]){
    printf("같은 번호가 있습니다!\n");
    i--;                                             //배열카운트가 늘어난 상태로 중복 확인했으므로, 배열카운트를 하나 줄인다
    break;
   }
   else lotto_nums[i]=input;
  }
 }
}



void print_nums(int *lotto_nums){
 printf("로또 번호 : ");
 for(int i=0;i<6;i++) printf("%d ",lotto_nums[i]);
}
--------------------------------------------------


번호 입력 : 45
번호 입력 : 45
같은 번호가 있습니다!
번호 입력 : 23
번호 입력 : 23
같은 번호가 있습니다!
번호 입력 : 31
번호 입력 : 45
같은 번호가 있습니다!
번호 입력 : 23
같은 번호가 있습니다!
번호 입력 : 17
번호 입력 : 9
번호 입력 : 1
로또 번호 : 45 23 31 17 9 1