반응형
눈금의 크기가 1~6 사이인 주사위 2개 (주사위A, 주사위B)를 순차적으로 던졌을 때 나타나는 눈금들의 크기를 비교하여 눈금이 큰 주사위를 승자로 출력하는 게임 프로그램을 작성하고자 한다. 다음 조건을 만족하도록 프로그램을 완성하시오.
(1) 프로그램을 수행할 때 마다 1~6 사이의 서로 다른 크기의 눈금이 발생하도록 srand() 및 rand() 함수를 사용하시오.
(2) 눈금 크기를 비교하는 게임의 회수인 N 값을 키보드를 통해 입력하여 게임이 총 N회 반복되도록 하시오.
(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.
⦙ (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;
}
반응형
'개발 > C,C++,C#' 카테고리의 다른 글
[문제풀이] 알파벳 삼각형 출력 (0) | 2024.04.25 |
---|---|
[문제풀이] 사용자로부터 –1이 입력될 때까지 정수값들을 읽어 들여서 이 중 0의 개수와 1~100의 개수, 101~1000의 개수, 1001~10000의 개수, 그리고 10000 이상의 개수를 출력하는 프로그램을 작성하시오. (0) | 2024.04.25 |
[문제풀이] 사용자가 EOF(End of File)를 입력할 때까지 알파벳들을 읽어들여서 이 중 알파벳 l, o, v, e 각각의 개수를 출력하는 프로그램을 작성하시오. (0) | 2024.04.25 |
[문제풀이] 문자열을 입력/치환 예제 (0) | 2024.04.25 |
[문제풀이] 구구단을 2차원 배열에 저장하고 출력하는 예제 (0) | 2024.04.25 |