안경잡이 구루루

백준 10172 ( 개 ) [C programming] 본문

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

백준 10172 ( 개 ) [C programming]

구루루(gururu) 2020. 5. 5. 22:47
반응형

문제

아래 예제와 같이 개를 출력하시오.

입력

없음.

출력

개를 출력한다.


나:

#include <stdio.h>
int main() {
	printf("|\\_/|\n");
	printf("|q p|   /}\n");
	printf("( 0 )\"\"\"\\\n");
	printf("|\"^\"`    |\n");
	printf("||_/=\\\\__|");
	return 0;
}

완성된 코드는 위와 같다.

이 문제에서 핵심은 \(백슬래시)를 이용해 문자를 그대로 출력하는 것이다.  여기서 그대로 출력해야할 문자는 큰따옴표( " ) , 백슬래시( \ ) 이다.

우선 문자열을 출력하가 위해서는 큰따옴표( " )를 사용해야하는데 개를 만들기 위해 중간중간에 큰따옴표가 들어간다. 이것들이 문자 자체로 사용되기 위해서 \" 형태로 사용해 그대로 출력한다

그리고 백슬래시 또한 그대로 출력하기 위해서 두번사용( \\ )을 한다.

마지막으로 제어코드를 이용해 캐럿의 위치를 변경시켜 각 문자열들을 한줄에 하나씩 출력하고 함수 종료를 알리기 위해 return 0을 사용한다.

<제어코드>

\n 캐럿을 다음 줄로 이동
\r 캐럿을 해당 줄의 처음으로 이동
\t 캐럿을 한 탭만큼 이동( 가장 가까운 8의 배수 위치로 이동)
\b 캐럿을 바로 앞칸으로 이동
\a 시스템 스피커로 경고음 발생

 

반응형