본문 바로가기
개발/C,C++,C#

[문제풀이] 눈금의 크기가 1~6 사이인 주사위 2개 (주사위A, 주사위B)를 순차적으로 던졌을 때 나타나는 눈금들의 크기를 비교하여 눈금이 큰 주사위를 승자로 출력하는 게임 프로그램

by 비트-바이트 2024. 4. 25.
반응형
눈금의 크기가 1~6 사이인 주사위 2개 (주사위A, 주사위B)를 순차적으로 던졌을 때 나타나는 눈금들의 크기를 비교하여 눈금이 큰 주사위를 승자로 출력하는 게임 프로그램을 작성하고자 한다. 다음 조건을 만족하도록 프로그램을 완성하시오.
(1) 프로그램을 수행할 때 마다 1~6 사이의 서로 다른 크기의 눈금이 발생하도록 srand() 및 rand() 함수를 사용하시오.
(2) 눈금 크기를 비교하는 게임의 회수인 N 값을 키보드를 통해 입력하여 게임이 총 N회 반복되도록 하시오.
실행 예: Input the number of games: 2 (게임의 회수를 2회 반복시킴)
 ⦙ (1~6 사이의 난수 발생으로 주사위A와 주사위B의 눈금이 순차적으로 생성됨)
 ⦙ Dice A is 6 and Dice B is 3. The winner is Dice A.
 ⦙ (1~6 사이의 난수 발생으로 주사위A와 주사위B의 눈금이 순차적으로 생성됨) ⦙ Dice A is 2 and Dice B is 5.
   The winner is Dice B.

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

int main() {
    int N; // 게임의 회수
    int diceA, diceB;

    printf("Input the number of games: ");
    scanf("%d", &N);

    srand(time(NULL)); // 난수 초기화

    for (int i = 0; i < N; i++) {
        diceA = rand() % 6 + 1; // 1부터 6까지의 난수 생성
        diceB = rand() % 6 + 1; // 1부터 6까지의 난수 생성

        printf("Dice A is %d and Dice B is %d. ", diceA, diceB);

        if (diceA > diceB) {
            printf("The winner is Dice A.\n");
        } else if (diceA < diceB) {
            printf("The winner is Dice B.\n");
        } else {
            printf("It's a tie.\n");
        }
    }

    return 0;
}
반응형