관리 메뉴

moozi

5/26 컴보1A 숫자야구게임 본문

카테고리 없음

5/26 컴보1A 숫자야구게임

moozi 2015. 5. 26. 10:06

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

int main(){
 int answer[3]; //정답저장 배열
 int i, j; //배열의 index
 int strike=0, ball=0; //스트라이크, 볼 저장
 int value[3]; //사용자입력값저장 배열

 printf("***********************************\n");
 printf("*********  숫자 야구게임  *********\n");
 printf("***********************************\n");

 // 정답구하기. 정수(1~9, 중복되면 안됨)
 srand((unsigned int)time(NULL));//난수seed값지정
 
 //세개의 정수가 중복되지 않게
 while(1){
  for(i=0;i<3;i++){
  answer[i]=rand()%9+1;  
  }

  if(answer[0]!=answer[1] &&
   answer[1]!=answer[2] &&
   answer[2]!=answer[0]
   ){
   break;
  }
 }
 //정답출력(디버깅용. 나중에 주석처리)
 for(i=0;i<3;i++){
  printf("%d\n", answer[i]);
 }

 while(1){
  //사용자로부터 1~9사이의 숫자를 3개 입력받기
  printf("1~9사이의 숫자를 3개 입력(예: 1 7 9):");
  scanf("%d %d %d", &value[0], &value[1], &value[2]);

  for(i=0;i<3;i++){
   printf("%d\n", value[i]);
  }


  if(value[0]!=value[1] && value[0]!=value[2] && value[1]!=value[2]){
   break;  
  }
 }

 //스트라이크. 볼 판정
 for(i=0;i<3;i++){ //i는 answer[]의 인덱스
  for(j=0;j<3;j++){//j는 value[]의 인덱스
   if(answer[i]==value[j] && i==j){//값과 자리수가 같으면 스트라이크
    strike++;
   }else if(answer[i]==value[j]){
    ball++; //값만 같으면 볼
   }
  }
 }

 printf("%d스트라이크, %d볼\n", strike, ball);

 


}

Comments