본문 바로가기
C언어

[C언어] 로또추첨기, 당첨기를 작성하시오

by 이얏호이야호 2022. 12. 2.

직접 로또추첨기를 작성하고 실제로 나오는 번호대로 구매해보시는 시간을 가져보세요^^

크나큰 행운을 가져다 줄 수 있습니다.

물론 단번에 코드를 본다면 좋기야 하겠지만 장기적으로 봤을때

혼자풀어보기 -> 힌트 -> 코드보기 순으로 공부하시는게 실력 향상에 큰 도움이 됩니다!

힌트를 보고 천천히 생각을 거쳐서 문제를 풀어보시고

답안을 확인해보세요

코드힌트

더보기
로또생성기
로또생성기 1
로또생성기2
로또생성기2

당첨된 번호를 저장

로또는 1이상 45이하의 수로 구성

랜덤으로 수를 만들어내는 랜덤함수 rand()를 이용해야합니다

rand() % 특정수 

0 ~ 특정수 로 랜덤난수를 만들어냅니다.

여기서

(rand() % 특정수) +1을 입력하면

1 ~ 특정수로 랜덤난수를 만들어냅니다 참고해서 로또추첨번호를 생성시킵니다.

중복번호라면 break;하는 if문을 작성하고

중복번호가 없다면 추첨된 번호를 출력하는 프로그램을 작성해보세요!

기본 틀입니다.

#include <stdio.h>
#include<stdlib.h>
#include<time.h>

int main()
{
    int prize[6]; //당첨된 번호를 저장
    int get_num, i, count=0;
    
    srand(time(NULL));  
    
    printf("이번주 로또 추첨 번호\n");
    while(count != 6){
        get_num = 			//rand를 활용하여 45이하의 정수를 만들어냄
        for( i= 0 ; i <count; i++){
            if(				) //중복 번호라면
                break;
        }
         if( 		){ //중복번호가 없다면
            prize[count++] = get_num;
            printf("%d " , get_num);        //추첨된 번호 출력
        }
    }
    printf("\n축하합니다.");
}

 

 

 

 

정답코드

더보기
로또생성기 1
로또생성기2
#include <stdio.h>
#include<stdlib.h>
#include<time.h>

int main()
{
    int prize[6]; //당첨된 번호를 저장
    int get_num, i, count=0;
    
    srand(time(NULL));  
    
    printf("이번주 로또 추첨 번호\n");
    while(count != 6){
        get_num = (rand() % 45 ) + 1;
        for( i= 0 ; i <count; i++){
            if(prize[i] == get_num) //중복 번호라면
                break;
        }
        if( i == count){ //중복번호가 없다면
            prize[count++] = get_num;
            printf("%d " , get_num);        //추첨된 번호 출력
        }
    }
    printf("\n축하합니다.");
}

 

 

 

 

 

더 많은 C언어 글이 궁금하다면?

https://chuinggun.tistory.com/category/C%EC%96%B8%EC%96%B4

 

댓글