#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>
#include <time.h>
#define MAX_LOTTO_NUMBER 45
void generateLottoNumber(int lottoNum[7]) {
int cnt = 0; // 뽑은 lottoNum 개수
srand((unsigned)time(NULL));
while(cnt < 7){
// 동일한 수가 없으면 "lottoNum"에 추가, 있다면 다시 한번 반복
int newNum = (rand() % MAX_LOTTO_NUMBER) + 1;
bool flag = false;
for(int i=0; i<7; i++){
if(newNum == lottoNum[i]) {
flag = true;
break;
}
}
if(flag){ // 값이 존재하면
continue;
}
// 값이 존재하지 않으면
lottoNum[cnt] = newNum;
cnt++;
}
}
void printResult(int lottoNum[7], int inputNum[6]) {
int correct = 0;
bool bonus = false;
for(int i=0; i<6; i++){
for(int j=0; j<7; j++){
if(lottoNum[j] == inputNum[i]) correct++;
}
}
for(int i=0; i<7; i++){
if(inputNum[i] == lottoNum[6]) bonus = true;
}
if(correct == 6){
printf("1등\n");
}
else if(correct == 5 && bonus){
printf("2등\n");
}
else if(correct == 5){
printf("3등\n");
}
else if(correct == 4){
printf("4등\n");
}
else if(correct == 3){
printf("5등\n");
}
else{
printf("꽝\n");
}
}
int main(void) {
int lottoNum[7], inputNum[6];
int equalCount = 0;
generateLottoNumber(lottoNum);
printf("lotto number : %d %d %d %d %d %d\n", lottoNum[0], lottoNum[1], lottoNum[2], lottoNum[3], lottoNum[4], lottoNum[5]);
printf("bonus number : %d\n", lottoNum[6]);
printf("\nplease input 6 number : ");
scanf("%d %d %d %d %d %d", &inputNum[0], &inputNum[1], &inputNum[2], &inputNum[3], &inputNum[4], &inputNum[5]);
printResult(lottoNum, inputNum);
system("pause");
return 0;
}
'IVS > C 프로그래밍' 카테고리의 다른 글
[C] 매크로(macro) 함수, 조건부 컴파일 (0) | 2025.01.13 |
---|---|
[C] 함수 포인터 (0) | 2025.01.13 |
[C] 공용체(union), 열거체(enum) (0) | 2025.01.13 |
[C] 지역변수(local), 전역변수(global), 정적변수(static) (0) | 2025.01.13 |
[C] 구조체 - 바이트 패딩(Byte Padding) (0) | 2025.01.13 |