문제
정수 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 |
---|
댓글