반응형
[가위바위보]
#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언어, 자바 전공 시험에 자주 출제되므로 알아두면 좋다.
반응형
'Language_ > C programming' 카테고리의 다른 글
[c언어] 2차원 배열 정렬하기 (버블, 포인터, 2중 반복문) (0) | 2020.03.29 |
---|---|
[c언어] 피라미드 출력하기 (2중 반복문) (0) | 2020.03.27 |
[C] 내림차순 정렬(버블) (0) | 2018.09.19 |
[C] 최대 공약수 (0) | 2018.09.19 |
[C] 1부터 n까지의 합을 출력 (0) | 2018.09.19 |
댓글