#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int compare_s(int strike, int num1, int num2, int num3, int en_num1,
int en_num2, int en_num3);
int compare_b(int ball, int num1, int num2, int num3, int en_num1, int en_num2,
int en_num3);
int main(void) {
int num1 = 0;
int num2 = 0;
int num3 = 0;
int en_num1 = 0;
int en_num2 = 0;
int en_num3 = 0;
int strike = 0;
int ball = 0;
int round = 0;
srand((unsigned int)time(NULL));
printf("숫자 야구 게임입니다. 3자리 숫자를 중복되지 않게 넣어주세요!\n");
while (1) {
en_num1 = rand() % 9 + 1;
en_num2 = rand() % 9 + 1;
en_num3 = rand() % 9 + 1;
if (en_num1 != en_num2 && en_num1 != en_num3 && en_num2 != en_num3) {
break;
}
}
while (1) {
round++;
scanf("%d %d %d", &num1, &num2, &num3);
while (1) {
if (num1 == num2 || num1 == num3 || num2 == num3) {
printf("중복된 숫자가 있습니다. 다시 입력해주세요.\n");
scanf("%d %d %d", &num1, &num2, &num3);
} else {
break;
}
}
strike = compare_s(strike, num1, num2, num3, en_num1, en_num2, en_num3);
ball = compare_b(ball, num1, num2, num3, en_num1, en_num2, en_num3);
printf("%d 회차 :\t%d스트라이크\t%d볼\n\n", round, strike, ball);
strike = 0;
ball = 0;
if (en_num1 == num1 && en_num2 == num2 && en_num3 == num3) {
printf("%d회차만에 승리하셨습니다!\n", round);
return 0;
}
}
} // main
int compare_s(int strike, int num1, int num2, int num3, int en_num1,
int en_num2, int en_num3) {
if (en_num1 == num1) {
strike++;
}
if (en_num2 == num2) {
strike++;
}
if (en_num3 == num3) {
strike++;
}
return strike;
}
int compare_b(int ball, int num1, int num2, int num3, int en_num1, int en_num2,
int en_num3) {
if (en_num1 == num2) {
ball++;
}
if (en_num1 == num3) {
ball++;
}
if (en_num2 == num1) {
ball++;
}
if (en_num2 == num3) {
ball++;
}
if (en_num3 == num1) {
ball++;
}
if (en_num3 == num2) {
ball++;
}
return ball;
}
'프로그래밍언어 > C' 카테고리의 다른 글
[c] 왼쪽 정렬, 가운데 정렬, 오른쪽 정렬, 양쪽 정렬 프로그램 만들기 (0) | 2021.08.26 |
---|---|
[c] 랜덤 숫자들을 랜덤 연산 시키는 프로그램 (0) | 2021.08.25 |
[c] 로또 추첨기 만들기 (0) | 2021.08.25 |
[C] 입력한 알파벳의 개수를 세주는 프로그램 만들기 (0) | 2021.08.25 |
[c] switch문을 이용한 간단한 계산기 (0) | 2021.08.25 |