>  기사  >  백엔드 개발  >  지정된 형식으로 값을 인쇄하는 C++ 프로그램

지정된 형식으로 값을 인쇄하는 C++ 프로그램

王林
王林앞으로
2023-09-03 12:33:08916검색

지정된 형식으로 값을 인쇄하는 C++ 프로그램

세 개의 double 값이 있다고 가정합니다. 다음과 같이 형식을 지정하고 인쇄해야 합니다.

  • 첫 번째 값의 정수 부분을 소문자 16진수 형식으로 인쇄해야 합니다.

  • 두 번째 값을 소수점 이하 두 자리까지 인쇄하고 그 값 앞에 양수인지 음수인지 표시하는 기호를 붙여야 합니다. 인쇄할 두 번째 값은 오른쪽 맞춤이어야 하며 길이는 15자이고 왼쪽의 사용되지 않은 위치에는 밑줄이 그어져 있어야 합니다.

  • 소수점 9자리의 과학적 표기법으로 세 번째 값을 인쇄해야 합니다.

따라서 입력이 256.367, 5783.489, 12.5643295643이면 출력은

0x100
_______+5783.49
1.256432956E+01

가 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다.

  • hex 플래그로 값을 16진수 형식으로 인쇄하는 showbase 플래그 16진수 값에 대해 '0x' 접두사를 표시하고, 왼쪽 플래그는 출력 필드에 패딩 문자를 삽입하여 값을 오른쪽으로 채우고, nouppercase 플래그는 출력을 소문자로 인쇄합니다.

  • right 플래그는 출력 필드에 패드 문자를 삽입하여 값을 왼쪽으로 채우고,fixed 플래그는 고정 소수점 표기법으로 값을 인쇄하고, set(15)는 출력 필드 길이를 15로 설정하고, showpos 플래그는 '+를 앞에 삽입합니다. 출력 ' 기호, setfill('_')은 출력을 밑줄로 채우고 setprecision()은 값의 정밀도를 소수점 2자리로 설정합니다.

  • setprecision()은 값의 정밀도를 소수점 이하 9자리로 설정하고, 과학 플래그는 값을 과학 표기법으로 인쇄하고, 대문자는 출력 값을 대문자로 만들고, noshowpos는 출력 값 앞의 양수 기호를 생략합니다.

더 나은 이해를 위해 아래 구현을 살펴보겠습니다.

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

void solve(double a, double b, double c) {
   cout << hex << showbase << nouppercase << left << (long long) a << endl;
   cout << right << fixed << setw(15) << setfill(&#39;_&#39;) << setprecision(2) << showpos << b << endl;
   cout << setprecision(9) << scientific << uppercase << noshowpos << c << endl;
}
int main() {
   solve(256.367, 5783.489, 12.5643295643);
   return 0;
}

Input

256.367, 5783.489, 12.5643295643

Output

0x100
_______+5783.49
1.256432956E+01

위 내용은 지정된 형식으로 값을 인쇄하는 C++ 프로그램의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 tutorialspoint.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제