Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C++

Chương trình C++ in giá trị theo định dạng chỉ định

Giả sử chúng ta được cho ba giá trị double. Chúng ta phải định dạng và in chúng theo quy tắc sau:

  • Phần nguyên của giá trị thứ nhất in dưới dạng hexadecimal chữ thường
  • Giá trị thứ hai in với 2 chữ số thập phân, có dấu +/- trước, căn phải, độ rộng 15 ký tự, đệm dấu gạch dưới bên trái
  • Giá trị thứ ba in với 9 chữ số thập phân dưới dạng ký pháp khoa học

Ví dụ: 256.367, 5783.489, 12.5643295643 → "0x100 _______+5783.49 1.256432956E+01"

Giải thuật

  • Giá trị 1: hex, showbase, nouppercase, left, ép kiểu long long
  • Giá trị 2: right, fixed, setw(15), setfill('_'), setprecision(2), showpos
  • Giá trị 3: setprecision(9), scientific, uppercase, noshowpos

Ví dụ minh họa

#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('_') << setprecision(2) << showpos << b << endl; 
    cout << setprecision(9) << scientific << uppercase << noshowpos << c << endl; 
} 

int main() { 
    solve(256.367, 5783.489, 12.5643295643); 
    return 0; 
} 

Đầu vào

256.367, 5783.489, 12.5643295643

Đầu ra

0x100 _______+5783.49 1.256432956E+01