[C언어 코드업 문제풀이] CodeUp 1369 : 빗금 친 사각형 출력하기

코드업 1369번 빗금 친 사각형 출력하기 문제 풀이 해답입니다.

 

1. 문제 설명

 

별모양 출력하기에 재미를 붙인 admin은 이번에는 빗금 친 사각형을 출력하기로 했다.

n*n 사각형에서 k간격만큼 빗금을 그어 출력하는 프로그램을 작성하시오.

예) n=10, k=3이면,

 

**********

**  *  * *

*  *  *  *

* *  *  **

**  *  * *

*  *  *  *

* *  *  **

**  *  * *

*  *  *  *

**********

 

윗변을 기준으로 왼쪽에서 부터 k간격마다 ↙방향 빗금을 긋는 별모양을 출력하시오.10,3인경우,

 

2. 입력

 

정사각형의 크기 n과 간격 k가 입력된다. ( 1 <= n, k <= 99) 

 

3. 출력

 

빗금 친 사각형을 출력한다.

 

4. 입력 예시

 

10 3

 

5. 출력 예시

 

**********

**  *  * *

*  *  *  *

* *  *  **

**  *  * *

*  *  *  *

* *  *  **

**  *  * *

*  *  *  *

**********

 

6. 문제 풀이

 

#include<stdio.h>
 
 
int main(){
    
    int num,k;
    scanf("%d %d"&num, &k);
    
    for(int i = 1; i<= num; i++){
        
        for(int j = 1; j<=num; j++){
            
            if( (i == 1|| (j == 1|| (i == num) || (j == num)  ){
                printf("*");
            }
            else if ( k == 1){
                printf("*");
            }
            else if( (i + j)%k  == 1 ){
                printf("*");
            }
            else{
                printf(" ");
            }
            //printf("%d",m);
        }
        printf("\n");
        
        
    }
    
    return 0;
}
 

 

 if( (i == 1|| (j == 1|| (i == num) || (j == num)  ) 을 통해 사각형을 그려준뒤

 

else if( (i + j)%k  == 1 ) 을 이용해 빗금을 쳐줍니다. 다만 k가 1일 경우 k로 나눈 나머지는 모두 0이 되기 때문에

k==1일 경우를 예외로 *를 출력해줍니다.

 

 

 

댓글()