Print Pretty

Given a text file with many lines of numbers to format and print, for each row of 3 space-separated doubles, format and print the numbers using the specifications in the Output Format section below.

Input Format

The first line contains an integer, , the number of test cases.
Each of the  subsequent lines describes a test case as  space-separated floating-point numbers: , , and , respectively.

Constraints

  • 1 ≤ T ≤ 1000
  • Each number will fit into a double.

Output Format

For each test case, print  lines containing the formatted , , and , respectively. Each , , and  must be formatted as follows:

  1. : Strip its decimal (i.e., truncate it) and print its hexadecimal representation (including the  prefix) in lower case letters.
  2. : Print it to a scale of  decimal places, preceded by a  or  sign (indicating if it’s positive or negative), right justified, and left-padded with underscores so that the printed result is exactly  characters wide.
  3. : Print it to a scale of exactly nine decimal places, expressed in scientific notation using upper case.

Sample Input

1  
100.345 2006.008 2331.41592653498

Sample Output

0x64             
_______+2006.01  
2.331415927E+03

Explanation

For the first line of output, (100)10 (64)16  (in reverse, 
6 X 161 + 4 X 160 = (100)10)The second and third lines of output are formatted as described in the Output Format section.

Solution Implementation


cout << hex << left << showbase << nouppercase;
cout << (long long)A << endl;
cout << dec << right << setw(15) << setfill('_') << showpos << fixed << setprecision(2);
cout << B << endl;
cout << scientific << uppercase << noshowpos << setprecision(9);
cout << C << endl;                    
Copied!

Leave a Reply

Your email address will not be published. Required fields are marked *