[C언어 코드업 문제풀이] CodeUp 1083 : [기초-종합] 3 6 9 게임의 왕이 되자!(설명)

코드업 1083번 3 6 9 게임의 왕이 되자! 문제 풀이 해답입니다.

 

1. 문제 설명

 

3 6 9 게임을 하던 영일이는 3 6 9 게임에서 잦은 실수로 계속해서 벌칙을 받게 되었다.
3 6 9 게임의 왕이 되기 위한 마스터 프로그램을 작성해 보자.

참고
중첩의 원리
반복 실행 구조 안에 선택 실행 구조를 자유롭게 중첩할 수 있다.

예시
int i;
for(i=1; i<=100; i++) //1부터 100까지 반복
{
  if(i%3==0 || i%5==0) printf("%d ", i); //3또는 5의 배수인 경우 그 수 출력
}

** 3 6 9 게임은?
여러 사람이 순서를 정해 순서대로 수를 부르는 게임이다.
만약 3, 6, 9 가 들어간 수를 자신이 불러야 하는 상황이면, 대신 "박수" 를 쳐야 한다.
33까지 진행했다면? "짝짝"과 같이 박수를 두 번 치는 형태도 있다. 

 

2. 입력

 

10 보다 작은 정수 1개가 입력된다.
(1 ~ 9) 

 

3. 출력

 

1 부터 그 수까지 순서대로 공백을 두고 수를 출력하는데,
3 또는 6 또는 9인 경우 그 수 대신 영문 대문자 X 를 출력한다.

 

4. 입력 예시

 

9

 

5. 출력 예시

 

1 2 X 4 5 X 7 8 X

 

6. 문제 풀이

 

#include<stdio.h>
 
int main(){
    
    int i;
    scanf("%d",&i);
    
    for(int j = 1; j <=i; j++){
        
        if(j % 3 == 0){
            printf("X ");
        }
        else{printf("%d ",j);}
        
    }
    
    
    return 0;
}
 
http://colorscripter.com/info#e" target="_blank" style="color:#e5e5e5text-decoration:none">Colored by Color Scripter

 

10 보다 작은 정수 1개가 입력된다는 조건이 있기 때문에 

3 6 9 이 3가지 숫자에 대해서만 X를 프린트하면 됩니다.

 

3으로 나눈 나머지가 0일경우 3,6,9 이기때문에 

     if(j % 3 == 0){

            printf("X ");

        }

 

로 X를 출력해주시고 나머지는 else를 이용하여

 else{printf("%d ",j);}

 

for문 for(int j = 1; j <=i; j++)에서 증가,반복하고 있는 j를 출력해줍니다.

댓글()