“2446번 별 찍기 - 9” 문제

image

“2446번 별 찍기 - 9” 정답 코드

#include <stdio.h>
int main() {
	int n;
	scanf("%d", &n);
	
	for(int i=1; i<=n; i++) {
		for(int j=1; j<=i-1; j++) {
			printf(" ");
		}
		for(int j=1+(n-i)*2; j>0; j--) {
			printf("*");
		}
		printf("\n");
	}
	
	for(int i=n-1; i>=1; i--) {
		for(int j=1; j<=i-1; j++) {
			printf(" ");
		}
		for(int j=1+(n-i)*2; j>0; j--) {
			printf("*");
		}
		printf("\n");
	}
}

기타 메모

별찍기(이중 포문 복습) 문제집

페이크가 있는 문제였습니다. 이 전에 별찍기8번이랑 유형이 비슷해서 대충 복붙하고 수정했는데 출력 형식이 잘못되었습니다 오류가 떴습니다.

그 이유는! 8번의 코드를 보면 별을 찍고 나서 뒷부분에도 별을 찍게 되는데, 이부분을 그냥 공백으로 바꾸었더니 불필요한 공백이 추가되어 오류가 난 것입니다.

별찍기-8 코드

#include <stdio.h>
int main() {
	int n;
	scanf("%d", &n);
	
	for(int i=1; i<=n; i++) {
		for(int j=1; j<=i; j++) {
			printf("*");
		}
		for(int j=(n-i)*2; j>0; j--) {
			printf(" ");
		}
		for(int j=1; j<=i; j++) {
			printf("*");
		}
		printf("\n");
	}
	
	for(int i=n-1; i>=1; i--) {
		for(int j=1; j<=i; j++) {
			printf("*");
		}
		for(int j=(n-i)*2; j>0; j--) {
			printf(" ");
		}
		for(int j=1; j<=i; j++) {
			printf("*");
		}
		printf("\n");
	}
}