C언어 문제/함수 활용
[rand] 컴퓨터와 가위, 바위, 보 게임하기
자연&사람
2019. 11. 19. 20:12
반응형
문제)
컴퓨터는 rand()으로 가위(1), 바위(2), 보(3)으로 얻고, 사람은 아래와 같은 형태로 입력받아서 비교하여 결과를 아래의 형태로 출력합니다.
입/출력 결과>
가위바위보 게임입니다.
user가 낼 차례입니다.(1:가위 2:바위 3:보 0:종료)2
당신은 바위를 냈습니다.
컴퓨터는 보를 냈습니다.
컴퓨터 승리
user가 낼 차례입니다.(1:가위 2:바위 3:보 0:종료)1
당신은 가위를 냈습니다.
컴퓨터는 가위를 냈습니다.
비겼습니다.
답은 아래에... ↓
스스로 풀어보시고... ↓
아래 답과 비교해보세요. ↓
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
char RPS_GAME[3][10] = {"가위", "바위", "보"};
int main(void)
{
int user;
int com;
srand((unsigned int)time(NULL));
printf("가위바위보 게임입니다.\n");
while(1) {
com = rand() % 3 + 1;
printf("user가 낼 차례입니다.(1:가위 2:바위 3:보 0:종료)");
scanf("%d",&user);
if(user == 0) {
break;
} else if(0 > user || user > 3) {
printf("잘못 입력하였습니다. 다시 해주세요.\n");
continue;
}
printf("당신은 %s를 냈습니다.\n", RPS_GAME[user - 1]);
printf("컴퓨터는 %s를 냈습니다.\n", RPS_GAME[com - 1]);
if(com == user) {
printf("비겼습니다.\n");
}
if(user == 1) {
if(com == 2) {
printf("컴퓨터 승리\n");
} else if(com == 3) {
printf("유저 승리\n");
}
} else if(user == 2) {
if(com == 3) {
printf("컴퓨터 승리\n");
} else if(com == 1) {
printf("유저 승리\n");
}
} else if(user == 3) {
if(com == 1) {
printf("컴퓨터 승리\n");
} else if(com == 2) {
printf("유저 승리\n");
}
}
printf("\n");
}
}
반응형