Skip to main content

열혈강의 C프로그래밍 – 도전! 프로그래밍 THREE – 5

사용자로부터 가위 바위 보 중에서 하나를 입력받는다. 그리고 컴퓨터는 난수 생성을 통해서 가위 바위 보 중에서 하나를 선택하게 한다. 이 둘을 비교해서 승자와 패자를 가려주는 프로그램을 작성해 보자. 단 프로그램의 진행은 사용자가 질 때까지 계속되어야 하고, 마지막에 가서는 게임의 결과(a승 b무)까지 출력해 주도록 하자.

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

count_win=0;
count_draw=0;
const char m[3][5]={”바위”, ”가위”, ”보”};

void mjb(void);

int main(void)
{
printf(”가위 바위 보를 시작합니다.\n\n”);

srand((int)time(NULL));
mjb();

printf(”게임의 결과 : %d승, %d무\n”, count_win, count_draw);

return 0;
}

void mjb(void)
{
int val=1;
int com;

while(1){
printf(”바위는 1, 가위는 2, 보는 3 : ”);
scanf(”%d”, &val);
com=rand()%3+1;

if(val==com){
printf(”당신은 %s 선택, 컴퓨터는 %s 선택, 비겼습니다.\n\n”, m[val-1], m[com-1]);
count_draw++;
continue;
}else if((val==1 && com==2) || (val==2 && com==3) || (val==3 && com==1)){
printf(”당신은 %s 선택, 컴퓨터는 %s 선택, 당신이 이겼습니다.\n\n”, m[val-1], m[com-1]);
count_win++;
continue;
}else{
printf(”당신은 %s 선택, 컴퓨터는 %s 선택, 당신이 졌습니다.\n”, m[val-1], m[com-1]);
return;
}
}
}

댓글 남기기