PATグレードのトピック1-10(C ++)

1001 A + Bフォーマット(20分)

計算  +の標準フォーマットでBと出力を合計- (以下4桁がない限り)つまり、数字がカンマで3のグループに分離されなければなりません。

入力仕様:

各入力ファイルには、1つのテストケースが含まれています。各ケースが整数のペアが含まれ  、Aと  $ B - 1 0 ^ 6 bは1 0 ^ 6 $ 数値は、スペースで区切られます。

出力仕様:

各テストケースの場合、出力の合計はずです  し、  1行のa、bを。合計は、標準形式で記述する必要があります。

サンプル入力:

- 1000000  9

サンプル出力:

- 999991

問題解決のアイデア:

完了すると、整数加算演算を使用するのに十分であるので、文字列の結果に直接そこに保存することができますので、まず、質問にのみ$ [--10 ^ 6、10 ^ 6] $をaとbを参照してください。それが書き込まれ、-999991ができない - :次に、単に文字列を横断する逆、それぞれの3つの文字は、最後のグループは、このような出力の対象とカンマ区切り記号と数字とすることができないことに留意すべきで、コンマを挿入されています、999991。そのために、シンボルの冒頭かどうかの判断を追加する必要があります。

コード:

1の#include <iostreamの>
 2の#include < ストリング >
 3  使用して 名前空間STDを、
4  
5  INT メイン(){
 6      int型A、B。
7      CIN >> A >> skipws >> B。
8      文字列結果= to_stringに(A + B)。
9      INTの数= 1 10      int型の長さ= result.length()。
11      コンマ= 12 のためにint型 I =長さ- 1 ; I> =     1 ; i-- ){
 13          であれば(数%3 == 0 && isdigit([1-結果1 ){])
 14              結果= result.insert(I、カンマ)。
15              数= 1 16          }
 17          {
 18              数++ 19          }
 20      }
 21      COUT <<結果<< ENDL。
22      リターン 0 ;
23 }

 

(つづきます)

 

おすすめ

転載: www.cnblogs.com/jcchan/p/11502703.html