C언어/연습장

로또 - 함수 없는 버전

joo_coding 2025. 3. 15. 13:59
#include <stdio.h>
#include <stdlib.h>
#include <time.h>


int main()
{
    int user_lotto[6]; // 유저가 고른 로또번호 (배열의 길이가 6) 0~5
    int com_lotto[6]; // 컴퓨터가 선정한 로또번호
    int com_bonums[1];

	// 1
    // 당첨 번호 뽑는 코드
    srand(time(NULL)); // 이게 없으면 값이 고정됨

    for (int i = 0; i < 6; i++) // 0 1 2 3 4 5 (총 6개 픽)
    {
        com_lotto[i] = (rand() % 45 +1); // 범위: 1~45
        printf("%d ", com_lotto[i]);

        for (int j = 0; j < i; j++) // 중복 걸러주기
        {
            if (com_lotto[i] == com_lotto[j]) // 먼저 뽑은거랑 같지 않아야 저장
            {
                //j=0,i=0 > 0 0 비교 >
                i --; // 중복이 생기면 해당 i를 제거하고 다시 뽑기
                break;
            }
            
        }
        
    } //덩어리1 끝!

	// 2
    // 유저가 로또번호 뽑는 코드
    for (int i = 0; i < 6; i++) // 0 1 2 3 4 5 (총 6개 픽)
    {
        printf("로또 번호를 고르세요(1~45):");
        scanf("%d", &user_lotto[i]);

        // 범위 검사
        while (user_lotto[i] <= 0 || user_lotto[i] > 45) // 고른 숫자가 0이하, 45이상이면 다시 골라
        {
            printf("1~45 중에서만 골라.\n");
            i --; // 잘못 고르면 해당 i를 제거하고 다시 뽑기
            break; // 여기 끝내
        }

        // 중복 검사
        for (int j = 0; j < i; j++) // 중복 걸러주기
        {
            if (user_lotto[i] == user_lotto[j]) // 먼저 뽑은거랑 같지 않아야 저장
            {
                printf("중복이야. 다시 골라.\n");
                i --; // 중복이 생기면 해당 i를 제거하고 다시 뽑기
                break; // 여기 끝내
            }
        }

        // 범위도 맞고, 중복도 아니면 출력
        //printf("고른번호:%d\n", user_lotto[i]);

    } 
    // 다 고르면 뭐골랐는지 보여주기
    printf("고른 번호는:");
    for (int k = 0; k < 6; k++)
    {
        printf ("%d ", user_lotto[k]);
    }
    printf("\n");
    // 덩어리2 끝!
    
    
    // 3
    // 등수 확인
    
    return 0;
}