본문 바로가기
Language_/C programming

[c언어] 가위바위보 프로그램 제작하기 (rand 이용)

by 낭람_ 2020. 3. 26.
반응형

[가위바위보] 

#time, srand, rand 이용

#최대한 간단하게 작성한 코드


#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int main() {
srand(time(NULL));
int com = rand() % 3 + 1;
int user;
printf("가위(1), 바위(2), 보(3)를 입력하세요 : ");
scanf("%d", &user);
if (com == user) printf("draw. \n");
else if (com > (user+1)%3) printf("user win. \n");
else printf("com win. \n");
return 0;
}

[출력결과]

가위(1), 바위(2), 보(3)를 입력하세요 : 1 com win.

가위(1), 바위(2), 보(3)를 입력하세요 : 1 draw.

가위(1), 바위(2), 보(3)를 입력하세요 : 1 user win.

바위(2)는 가위(1)를 이기고 보(3)는 바위(2)를 이기고 가위(1)는 보(3)를 이긴다고 생각하면 쉽다.


우선 com 과 user가 같을 경우는 draw를 출력하게 한다.


가위(1) - 바위(2) - 보(3) - 가위(1) - 바위(2) - 보(3) 의 순서를 보면 오른쪽에 위치 할 수록 게임에서 이기게 된다. 또한 3과 1의 경우에는 1이 이겨야한다.

위의 알고리즘을 적용하기 위해서는 user가 이기는 경우에 (user+1) % 3이 com 보다 왼쪽에 위치해야 한다.


컴공생의경우 c언어, 자바 전공 시험에 자주 출제되므로 알아두면 좋다.



반응형

댓글