728x90
반응형
숫자야구 게임은 1부터 9까지의 서로 다른 수로 이루어진 3자리의 수를 맞추는 게임입니다.
사용자는 매 차례 3자리 숫자를 입력하고, 컴퓨터는 그에 대한 힌트를 제공합니다.
힌트에는 스트라이크와 볼이 있습니다.
스트라이크는 숫자와 자리가 모두 맞는 경우이고, 볼은 숫자는 맞지만 자리가 다른 경우입니다. 만약 사용자가 3스트라이크를 달성하면 게임에서 이기게 됩니다.
이제 C언어로 숫자야구 게임을 만들어봅시다.
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
int answer[3];
int guess[3];
int strike, ball;
int i, j;
srand(time(NULL));
// 중복되지 않는 1~9까지의 난수를 생성하여 answer 배열에 저장
for (i = 0; i < 3; i++) {
answer[i] = rand() % 9 + 1;
for (j = 0; j < i; j++) {
if (answer[i] == answer[j]) {
i--;
break;
}
}
}
printf("숫자 야구 게임을 시작합니다!\n");
// 3 스트라이크가 될 때까지 반복
do {
printf("숫자 3개를 입력하세요 (1~9): ");
scanf("%d %d %d", &guess[0], &guess[1], &guess[2]);
// 입력한 숫자와 정답을 비교하여 스트라이크와 볼의 개수를 구함
strike = 0;
ball = 0;
for (i = 0; i < 3; i++) {
for (j = 0; j < 3; j++) {
if (guess[i] == answer[j]) {
if (i == j) {
strike++;
} else {
ball++;
}
}
}
}
// 스트라이크와 볼의 개수를 출력
printf("%d 스트라이크, %d 볼\n", strike, ball);
} while (strike < 3);
printf("축하합니다! 게임에서 승리하셨습니다.\n");
return 0;
}
728x90
반응형
'프로그래밍 언어 > C언어' 카테고리의 다른 글
C언어 기초 함수 예제 (0) | 2023.05.10 |
---|---|
C프로그래밍 임의의 양의 정수 n을 입력 받아 n의 약수의 개수를 출력하는 함수 (0) | 2023.05.03 |
C프로그래밍 문자열 함수 연습문제 (0) | 2023.05.03 |
C 프로그래밍 사용자로부터 알파벳 외의 문자를 입력 받을 때까지 문자를 입력 받고, 다른 문자가 입력되면지금까지 입력된 알파벳들을 대소문자 구분 없이 입력 횟수를 보여주는 프로그램 (0) | 2023.05.02 |
C프로그래밍 문자열 연습문제 (0) | 2023.05.02 |