#include <stdio.h>

#include <stdlib.h>

#include <time.h>

 

#define MAX 45 //상수 선언

 

void setlotto(int *lotto);

 

void iswin(int *mylotto, int *lotto);

 

 

int main(void)

 

{

 

int i, j;

 

int mylotto[6], lotto[6];

 

 

printf("\n");

 

printf(" < 로또게임 >\n");

 

printf("\n");

 

printf("1부터 45까지의 숫자 중 본인이 원하는 로또번호 6개를 입력하시오.");

 

printf("\n");

 

printf("-> ");

 

for(i=0; i<6; i++)

 

{

 

scanf("%d", &mylotto[i]);

 

for(j=0; j<i; j++) // 기존에 입력된 번호와 비교해서

 

if(mylotto[i]==mylotto[j]) // 같은 번호가 나오면

 

{

 

printf("이미 입력된 번호입니다. 다시 입력하세요.\n");

 

i--; // 다시 입력 받습니다.

 

break;

 

}

 

}

 

 

setlotto(lotto);

 

iswin(mylotto, lotto);

 

 

return 0;

 

}

 

void setlotto(int *lotto)

 

{

 

int i, j, t;

 

long seed = time(NULL);

 

srand(seed);

 

 

printf("\n");

 

printf("로또를 추첨합니다.\n");

 

printf("\n");

 

for(i=0; i<6; i++)

 

{

 

lotto[i] = rand() % MAX + 1;

 

for(j=0; j<i; j++) // 기존에 입력된 번호와 비교해서

 

if(lotto[i]==lotto[j]) // 같은 번호가 나오면

 

{

 

i--; // 다시 입력 받습니다.

 

break;

 

}

 

}

 

for(i=1; i<6; i++) // 버블정렬 알고리즘

 

for(j=0; j<6-i; j++) // 인접한 두 숫자를 차례대로 비교해서

 

if(lotto[j]>lotto[j+1]) // 뒤에 숫자가 더 작으면 교환하는 오름차순

 

{

 

t=lotto[j];

 

lotto[j]=lotto[j+1];

 

lotto[j+1]=t;

 

}

 

for(i=0; i<6; i++) printf("%4d",lotto[i]); // 정렬된 결과를 출력합니다.

 

printf("\n");

 

}

 

 

void iswin(int *mylotto, int *lotto)

 

{

 

int i, j, same = 0;

 

 

for (j=0; j<6; j++)

 

for (i=0; i<6; i++)

 

if (mylotto[i] == lotto[j])

 

same++;

 

if(same == 6) {

printf("6개 맞췄어요.\n");

}

else if(same == 5) {

printf("5개 맞췄어요.\n");

}

else if(same == 4) {

printf("4개 맞췄어요.\n");

}

else if(same == 3) {

printf("3개 맞췄어요.\n");

}

else if(same == 2) {

printf("2개 맞췄어요.\n");

}

else if(same == 1) {

printf("1개 맞췄어요.\n");

}

else {

printf("하나도 못 맞췄어요.");

}

+ Recent posts