指定された形式で値を出力する C++ プログラム

王林
リリース: 2023-09-03 12:33:08
転載
977 人が閲覧しました

指定された形式で値を出力する C++ プログラム

3 つの double 値があるとします。次のようにフォーマットして印刷する必要があります。

  • 最初の値の整数部分を小文字の 16 進形式で出力する必要があります。

  • 2 番目の値を小数点以下 2 桁まで出力し、その値が正か負かを示す符号を先頭に付ける必要があります。出力される 2 番目の値は、右寄せで 15 文字長にし、左側の未使用の位置に下線を引く必要があります。

  • 3 番目の値を小数点以下 9 桁の科学表記法で出力する必要があります。

したがって、入力が 256.367、5783.489、12.5643295643 の場合、出力は

0x100
_______+5783.49
1.256432956E+01
ログイン後にコピー
ログイン後にコピー

になります。 この問題を解決するには、次の手順に従います。

  • hex フラグは値を 16 進形式で出力し、showbase フラグは 16 進値のプレフィックス「0x」を表示します。left フラグは出力フィールドに埋め込み文字を挿入して値を右に埋め込みます。 , 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 中国語 Web サイトの他の関連記事を参照してください。

ソース:tutorialspoint.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート