#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int cnt = 0;
int randNum;
int isSame;
int input[7] = { 0, };
int lottery[7] = { 0, };
int randomArray[51] = { 0, };
srand(time(NULL));
printf("로또 7개의 숫자를 입력하세요(1~50 중복입력불가) : ");
for (int i = 0; i < 7; i++)
scanf("%d", &input[i]);
for (int i = 0; i < 7; i++)
{
randNum = rand() % 50 + 1;
if(randomArray[randNum])
{
i--;
continue;
}
lottery[i] = randNum;
randomArray[randNum]++;
}
for (int i = 0; i < 7; i++)
{
isSame = 0;
for (int j = 0; j < 7; j++)
{
if (input[i] == lottery[j])
{
isSame++;
}
}
if (isSame)
cnt++;
}
printf("==============================\n");
printf("로또 추첨 번호 : ");
for (int i = 0; i < 7; i++)
printf("%d ", lottery[i]);
printf("\n%d개 맞았습니다.\n", cnt);
return 0;
}
input배열은 사용자가 입력할 숫자를 받을 배열,
lottery배열은 랜덤으로 추첨해 숫자를 넣을 배열,
randomArray는 1부터 50번째 인덱스까지 사용하여 lottery배열에 랜덤 값을 넣을 때 중복을 방지하기 위해 사용하는 배열입니다.
첫번째 for문에서는 사용자로부터 7개의 수를 입력받고, 두번째 for문에서는 중복 값을 빼고 7개의 수를 lottery에 채워넣습니다. 그리고 세번째 for문에서는 맞는 개수(당첨된 개수)를 카운트합니다.
봐주셔서 감사합니다. 피드백 환영합니다 :)
반응형