안경잡이 구루루

백준 2438 ( 별 찍기 -1 ) [ C programming ] ( 오답노트 ) 본문

C언어(C programming)/문제풀이(백준,BaekJoon)

백준 2438 ( 별 찍기 -1 ) [ C programming ] ( 오답노트 )

구루루(gururu) 2020. 5. 23. 12:26
반응형


나(오답):

#include <stdio.h>
int main() {
	int n;
	scanf_s("%d", &n);
	char a = '*';
	for (int i = 1; i <= n; i++) {
		printf("%s\n", a * i);
	}
	return 0;
}

오류가 발생한 코드는 위와 같다.

파이썬 처럼 i의 개수만큼 문자(*)를 곱하기를 통해  나타낼려고 했으나 오류가 발생

 

나(정답):

#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("*");
		}
		printf("\n");
	}

	return 0;
}

완성된 코드는 위와 같다.

 

#include <stdio.h>
int main() {
	int n;
	scanf("%d", &n);

출력할 최종 별(*)의 개수인 n의 자료형을 선언하고 scanf를 통해 입력값을 받는다

 

	for (int i = 1; i <= n; i++) {
		for (int j = 1; j <= i; j++) {
			printf("*");
		}
		printf("\n");
	}

	return 0;
}

i를 선언해 몇번 반복할지 정하고 j를 선언해 문자 * 의 출력 횟수를 정한다.

\n을 사용하지 않아서 바로 다음칸에 * 이 출력되서 붙어진 상태로 출력된다.

위 문자은 외부,내부 반복문의 구조로 외부 반복문 1번당 내부 반복문 전체가 실행된다.

이때 줄 바꿈 제어코드 \n 은 외부 반복문에 사용해서 문자 * 의 출력이 끝난후 다음 줄로 넘어갈 때 사용

반응형