본문 바로가기

정보올림피아드

[출력] 유형1. 화면 출력 시 공간 확보 및 정렬

이번 내용에서는 화면 출력 시에 공간을 확보하는 것과 정렬하는 내용에 대해 알아보도록 하겠습니다.

우리가 출력하고 싶은 내용을 콘솔 화면 출력 시에 printf라는 함수를 사용합니다.


사용 방법 : printf(“출력내용“)  

 

여기서 화면에 출력 시의 가장 간단한 형태는 출력내용을 printf를 쓴 이후에 ‘(‘‘)’ 사이에 쓰게 되는데, “ “안의 내용은 화면에 그대로 보여지게 됩니다.


만약 내가 상수나 변수를 출력하고 싶다면, 아래와 같이 printf %라는 형태를 이용하여 출력이 또한 가능합니다.

(%d : 정수, %f : 실수, %s : 문자열, %c : 한 문자, %p, %x, %o )


(문제) 아래 내용을 출력해 보세요.

파란색과 빨간 테두리는 설명을 위해 표시한 것입니다.


  (먼저 내가 혼자서 풀어본 이후에 소스 코드를 확인해 보세요)






[소스 코드]


 

#include <stdio.h>

 

int main()

{

       int a=100;

       float f=50.3334;

       printf("가장 간단한 출력");

       printf("변수 a 출력 : %d %d", 100, a);    // (1)

       printf("공간 확보 오른쪽 정렬 10 : %10d", 100); // (2)

       printf("공간 확보 왼쪽   정렬 10 : %-10d", 100); // (3)

       printf("실수 출력 지정 없음 : %f", f); // (4)

       printf("실수 출력 7칸 확보, 소수점 2자리 : %7.2f", f); // (5)

       printf("실수 출력 소수점 2자리 : %.2f", f); // (6)

}

 

[설명]

(1) printf(“ “)안에 %d, %f 등과 같은 서식 지정을 이용하여 변수 및 상수 출력이 가능하다.


(2) 출력 시, 공간을 확보하려고 할 때는 %d의 경우 % d사이에 확보하려고 하는 공간 칸수의 수를 넣으면 그만큼의 공간이 확보된다.


(3) %10d : 10칸을 확보하고 오른쪽 정렬하여 출력

   %-10d : 10칸을 확보하고 왼쪽 정렬하여 출력


(4) 일반 실수 출력. 지정이 없으면 소수점 6자리까지 출력된다.


(5) 실수의 출력 경우, %7.2f와 같이 공간 확보와 소수점 아래 자릿수의 지정이 가능하다.


 %7.2f  -> %f 는 실수 출력을 하겠다는 의미이다.

 %7.2f  -> 7은 소수점을 포함 7칸을 확보한다.

 %7.2f  -> .2은 소수점 이하 자리수를 2자리를 확보한다는 것을 의미한다.