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 은 외부 반복문에 사용해서 문자 * 의 출력이 끝난후 다음 줄로 넘어갈 때 사용
반응형