본문 바로가기

대학교 2-1/문해기

Warming Up Exercise 6

(rand 함수)

1~45 사이의 숫자를 랜덤하게 생성하는 6개의 로또 번 호 생성 프로그램을 작성하시오.

– 필요한 부분은 함수로 작성하시오.

– 실행할 때마다 다른 수가 나와야한다(srand, time함수 사용)

– 실행예)

*** 로또 번호 생성기 ***

생성 번호: 4 9 15 24 27 36

다시 생성하겠습니까? (y/n)

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
void makeNum(int* p, int max);
void printNum(int* p, int max);
int main(void)
{
    int num[6= { 0 };
    char again;
    do {
        printf("*** 로또 번호 생성기 ***\n");
        makeNum(num, 6);    
        printf("생성 번호: ");
        printNum(num, 6);
        printf("다시 생성하겠습니까? (y/n): ");
        scanf("%c"&again);
        while (getchar() != '\n');//디버깅해본 결과 버퍼 비워야함
    } while (again != 'n');
}
void makeNum(int *p,int max)
{
    srand(time(NULL));
    for (int i = 0; i < max; i++)
        *(p + i) = (rand() % 45 + 1);
}
void printNum(int* p, int max)
{
    for (int i = 0; i < max; i++)
        printf("%d "*p++);
    printf("\n");
}
 
cs

'대학교 2-1 > 문해기' 카테고리의 다른 글

Lab(조합출력)  (0) 2024.03.17
Warming Up Exercise 8  (0) 2024.03.10
Warming Up Exercise 5  (0) 2024.03.10
Warming Up Exercise 3  (0) 2024.03.10
Warming Up Exercise 1  (0) 2024.03.10