반응형

문제)

컴퓨터는 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");
    }
}
반응형
블로그 이미지

자연&사람

행복한 개발자 programmer since 1995.

,