본문 바로가기
Programming/C

[C언어] 마름모 출력하기

by jerry_kang 2021. 1. 4.

문제

정수 N을 입력받는다. 그 후, 가로, 세로가 각각 N의 길이를 가진 마름모를 * 문자를 사용하여 그려서 출력하시오.

 

제약조건

- N은 자연수이며 홀수로 가정한다.

- 각 줄의 두 번째 별(즉, 마지막)이 출력된 후의 공간에는 공백이 출력되지 않는다.

 

입력 예시

7

 

출력예시

   *
  * *
 *   *
*     *
 *   *
  * *
   *

 

#include <stdio.h>

int main(void) {
	int n, k;
	scanf("%d", &n);

	for (int i=0; i<n / 2 + 1; i++){
		for(int j= (n - i*2) / 2; j>0; j--){
			printf(" ");
		}
		printf("*");
		for(k = 0; k<(i * 2) - 1; k++){
			printf(" ");
		}
		if ( k != 0 ){
			printf("*");
		}

		printf("\n");
	}
	for (int i=n / 2 - 1; i>=0; i--){
		for(int j= (n - i*2) / 2; j>0; j--){
			printf(" ");
		}
		printf("*");
		for(k = 0; k<(i * 2) - 1; k++){
			printf(" ");
		}
		if ( k != 0 ){
			printf("*");
		}

		printf("\n");
	}
	return 0;
}

'Programming > C' 카테고리의 다른 글

[C언어] 문자열에 포함된 정수들의 합  (0) 2021.01.04

댓글