指定された形式で値を出力するC++プログラム
3つのdouble値が与えられているとします。それらをフォーマットして、次のフォーマットで印刷する必要があります。
-
最初の値の整数部分を小文字の16進形式で印刷する必要があります。
-
2番目の値を小数点以下2桁まで印刷し、その前に正か負かを示す記号を付ける必要があります。印刷する2番目の値は、右寄せで15文字の長さで、左側の未使用位置にアンダースコアを埋める必要があります。
-
科学的記数法で小数点以下9桁までの3番目の値を印刷する必要があります。
したがって、入力が256.367、5783.489、12.5643295643のような場合、出力は
0x100 _______+5783.49 1.256432956E+01
これを解決するには、次の手順に従います-
-
16進フラグは値を16進形式で出力し、showbaseフラグは16進値の「0x」プレフィックスを示し、左側のフラグは値の右側に塗りつぶし文字を挿入して値を出力フィールドに埋め込み、nouppercaseフラグは値を出力します。すべて小文字で出力します。
-
右フラグは値を出力フィールドに埋め込み、値の左側に塗りつぶし文字を挿入します。固定フラグは値を固定小数点表記で出力し、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('_') << setprecision(2) << showpos << b << endl; cout << setprecision(9) << scientific << uppercase << noshowpos << c << endl; } int main() { solve(256.367, 5783.489, 12.5643295643); return 0; }
入力
256.367, 5783.489, 12.5643295643
出力
0x100 _______+5783.49 1.256432956E+01
-
ユーザーが入力した番号を印刷するC++プログラム
オブジェクト「cin」と「cout」は、C++でそれぞれ入力と出力に使用されます。 cinはistreamクラスのインスタンスであり、キーボードなどの標準入力デバイスに接続されています。 coutはostreamクラスのインスタンスであり、表示画面などの標準出力デバイスに接続されています。 ユーザーが入力した数字を印刷するプログラムは次のとおりです- 例 #include <iostream> using namespace std; int main() { int num; cout<<"Enter t
-
整数を出力するJavaプログラム
この記事では、Javaで整数を出力する方法を理解します。 intデータ型を使用します。 intデータ型は、32ビットの符号付き2の補数整数です。最小値は2,147,483,648(-2 ^ 31)で、最大値は2,147,483,647(両端を含む)(2 ^ 31 -1)です。メモリに関する懸念がない限り、整数は通常、整数値のデフォルトのデータ型として使用されます。デフォルト値は0です。 入力 入力がであると仮定します Enter an integer: 45 出力 必要な出力は次のようになります The integer is: 45 アルゴリズム Step 1- START Ste