< [C언어] 야구 게임

프로그래밍 공부/C

[C언어] 야구 게임

Rocketbabydolls 2020. 11. 4. 00:33

정답을 나타내는 0~9 사이의 서로 다른 정수 3개를 입력 받음

정답을 추측한 0~9 사이의 서로 다른 정수 3개를 입력 받아 스트라이크 개수와 볼의 개수를 출력(정답을 맞힐 때까지 반복)

-스트라이크 개수 : 값도 맞추고 위치도 맞춘 숫자의 개수

-볼 개수 : 값은 맞췄지만, 위치는 틀린 숫자의 개수

 

※전역 변수 및 함수  - 정답은 전역 변수에 저장※ count_strike 함수 정의 및 사용  - 인자는 추측 값을 나타내는 세 개의 정수, 반환형은 int  - 정답과 추측을 비교하여 strike 개수를 반환※ count_ball 함수 정의 및 사용  - 인자는 추측 값을 나타내는 세 개의 정수, 반환형은 int  - 정답과 추측을 비교하여 ball 개수를 반환※ main함수  - 각각의 추측에 대해 위 함수를 이용하여 strike와 ball의 개수를 얻고, 결과 값 출력

 

 

#include<stdio.h>

int a,b,c; //전역 변수 선언

int count_strike(int x,int y,int z){ 
  int ans=0; 
  if(x==a)ans++; 
  if(y==b)ans++; 
  if(z==c)ans++; 

return ans;         
}                       

int count_ball(int x,int y,int z){ 
  int ans=0;           
  if(x==b)ans++;          
  if(x==c)ans++; 
  if(y==c)ans++; 
  if(z==a)ans++; 
  
return ans; 


int main(){ 

  int x,y,z; 
  
  scanf("%d %d %d",&a,&b,&c); 
  
    while(1){ 

    scanf("%d %d %d",&x,&y,&z); 

    printf("%dS%dB\n",count_strike(x,y,z),count_ball(x,y,z));
    
    if(x==a&&y==b&&z==c) break; 
    } 


  return 0; 
}