[논리적 사유연습]PuzzleStrike(숫자야구게임)

2013. 5. 8. 11:15프로그래밍/C/C++

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

int main()
{
 int prob[3], sol[3];
 int i, k, r, strike, ball;

 srand((unsigned)time(0));

 //문제를 생성
 for(i=0 ; i<3 ; i++)
 {
  do{
   prob[i] = rand()%9+1;
   for(k=0 ; k<i ; k++)
   {
    if(prob[i] == prob[k])
    {
     break;
    }
   }
  }while(i != k);
 }
 
 for(r=0 ; r<10 ; r++)
 {
  scanf("%d%d%d", &sol[0], &sol[1], &sol[2]);
  strike = 0;
  ball = 0;
  for(i=0 ; i<3 ; i++)
  {
   for(k=0 ; k<3 ; k++)
   {
    if(sol[i] == prob[k])
    {
     if(i==k)
     {
      strike++;
     }
     else
     {
      ball++;
     }
    }
   }
  }
  
  printf("[%d] %dStrike %dBall\n", r+1, strike, ball);
  
  if(strike==3)
  {
   printf("Win\n");
   break;
  }

  if(r==9)
  {
   printf("Game Over\n");
  }
 }

 printf("Problem : %d %d %d\n", prob[0], prob[1], prob[2]);
 return 0;
}