Computer >> 컴퓨터 >  >> 프로그래밍 >> C++

다양한 데이터 타입의 값을 정밀도를 유지하며 출력하는 C++ 프로그램

문제 개요

정수(int), long, 문자(char), float, double 등 다양한 데이터 타입의 값이 입력으로 주어졌다고 가정해 보겠습니다. 이때 입력으로 받은 각 값의 정밀도를 그대로 유지한 채 화면에 출력하는 프로그램을 작성해야 합니다.

예를 들어, 정수값은 15, long값은 59523256297252, 문자값은 'y', float값은 367.124, double값은 6464292.312621로 주어진다면, 출력 결과는 다음과 같습니다.

15
59523256297252
y
367.124
6464292.31262

해결 방법

이 문제는 비교적 간단하게 해결할 수 있습니다. 핵심 접근 방법은 다음과 같습니다.

  • 입력으로 주어진 각 값을 한 줄씩 순서대로 출력합니다.

여기서 주의해야 할 부분은 double 타입 값의 정밀도입니다. C++의 cout은 기본적으로 유효숫자 6자리까지만 출력하기 때문에, 소수점 이하의 정밀도를 유지하려면 printf의 서식 지정자(예: %.5f)를 활용하는 것이 좋습니다.

예제 코드

아래 구현 예제를 통해 더 자세히 이해해 보겠습니다.

#include <iostream>
#include <cstdio>
using namespace std;

void solve(int a, long b, char c, float d, double e) {

   cout << a << endl << b << endl << c << endl << d << endl;
   printf("%.5f", e);
}
int main() {
   solve(15, 59523256297252, 'y', 367.124, 6464292.312621);
   return 0;
}

입력

15, 59523256297252, 'y', 367.124, 6464292.312621

출력

15
59523256297252
y
367.124
6464292.31262