티스토리 뷰

C언어/K.N.King C PROGRAMMING

Chapter 3

소심야채 2020. 8. 20. 14:05

Using printf to Format Numbers

 

-----------------------------------------------------------------------------------------------------------------------------------

#include <stdio.h>

 

int main(void)
{
   int i;

   float x;

 

   i = 40;

   x = 839.21f;

 

   printf("|%d|%5d|%-5d|%5.3d|\n", i, i, i, i);

   printf("|%10.3f|%10.3e|%-10g|\n", x, x, x);

   

   return 0;

}

-----------------------------------------------------------------------------------------------------------------------------------

<OUTPUT>

|40|□□40|40□|□040|

|839.210|8.392e+02|839.21□|

 

■ %d : 최소 공간을 사용하여 i를 십진수로 표현한다.

 

■ %5d : 5자를 사용하여 i를 십진수로 표현한다 i는 두자만 필요하여 나머지 3자는 공백으로 채운다.

 

■ %-5d : 5자를 사용하여 i를 십진수로 표현한다. i값에는 5개의 문자가 필요하지 않기 때문에 공백이 나중에 추가된다.

 

■ %5.3d : 전체적으로 최소5자, 최소3자리를 사용하여 i를 십진수로 표현한다. i는 두자리 길이임으로 세자리를 표현하기 위해 0이 추가되었다. 결과 숫자 길이는 3자에 불과함으로 두개의 공백이 추가되었다.

 

■ %10.3f : 소수점 이하 세 자리와 함께 전체 10자를 사용하여 고정 소수점 형식으로 x를 표시한다. x는 7자(소수점 앞 세 개, 소수점 뒤에 세 개, 소수점 한 개)만 필요함으로 x앞에 세 개의 공백이 있다.

 

■ %10.3e : 소수점 이하 세 자리와 함께 전체 10자를 사용하여 지수형식으로 x를 표시한다. x는 모두 9자(지수포함)을 필요함으로 x앞에 공백 하나가 있다.

 

■ %-10g : 전체 10자를 사용하여 고정 십진수 형식 또는 지수 형식으로 x를 표시한다. 빼기 기호

 

 

 

 

Q. scanf가 정수 또는 부동소수점 숫자를 인식하기 위해 따르는 규칙은 무엇일까?

A. [정수] : 정수 읽기를 요청하면 scanf는 먼저 숫자, 더하기 기호 또는 빼기 기호를 검색한다. 그런 다음 숫자가 아닌 문자에 도달할때까지 숫자를 읽는다.

    [실수] : 더하기 또는 빼기 기호(선택사항), 일련의숫자(소수점 포함 가능), 지수(선택사항) 지수는 문자e(또는E), 선택적 부호 및 하나 이상의 숫자로 구성된다.

 

%e, %f, %g는 위에 실수와 같은 규칙을 따른다.

 

 

 

 

연습문제

[1번]

더보기

 

int main()
{
    int month, day, year;
    printf("Enter a data (mm/dd/yyyy) : ");
    scanf("%d/%d/%d",&month, &day, &year);
    printf("You entered the data %02d%02d%d", year,month,day);
    return 0;
}

 

[6번]

더보기
int main()
{
    int num1, denom1, num2, denom2, result_num, result_denom;

    printf("Enter two fractions separated by a plus sign: ");
    scanf("%d/%d%d/%d",&num1, &denom1, &num2, &denom2);
    printf("The sum is %d/%d",num1*denom2 + num2*denom1, denom1*denom2);
    return 0;
}

'C언어 > K.N.King C PROGRAMMING' 카테고리의 다른 글

Chapter 6  (0) 2020.08.26
Chapter 5  (0) 2020.08.25
Chapter 4  (0) 2020.08.24
Chapter 2  (0) 2020.08.19
Chapter 1  (0) 2020.08.18
댓글