A + B
タイトル説明
私は:. AとB各桁は、対応する英語の単語によって与えられることをA + B注意を計算するために2つの正の整数以下AとB 100より読み出します。
説明を入力します。
、行あたり各テストケースをテストケースを複数備えテスト入力は、の形式「A + Bは=」、間隔隣接する列の間に空間が存在する。入力端が0であるA及びBは、対応する結果が出力されない場合。
出力説明:
各テストケースの出力ライン、すなわち、A + Bの値
例1
エントリー
1 + 2 = 3〜4 + 5〜6 = ゼロ7 + 8 9 = ゼロ+ゼロ=
輸出
3 90 96
問題解決のアイデア:値を格納するマップで動作するように簡単では4例を議論することができます。
/ * * @Qusetion:https://dwz.lc/iiYuaA2eO * @Author:一届书生 * @Date:2020年3月19日10時13分14秒 * @LastEditTime:2020年3月21日夜11時54分26秒 * / 書式#include <iostreamの> の#include <文字列> の#include <マップ> std名前空間を使用しました。 チャーS [50]。 INTメイン() { マップ<文字列、整数> MP {{ "1"、1}、{ "2"、2}、{ "3"、3}、{ "4"、4}、 { "5"、 5}、{ "6"、6}、{ "7"、7}、{ "8"、8}、{ "9"、9}、{ "ゼロ"、0}}。 ((S取得))、一方 { 文字列T [10]。 以下のための(私は0 = INT、J = 0; I <50; T [J] + = S [i]は、 } もし(T [0] == T [2] && T [2] == "ゼロ") 0を返します。 // * + * IF(T [1] == "+" && T [3] [0] == '=') COUT << MP [T [0] + MP [T [2] << endl; // * + ** IF(T [1] == "+" && T [4] [0] == '=') COUT << MP [T [0] + MP [T [2]] * 10 + MP [T [3] << ENDL。 // ** + * IF(T [2] == "+" && T [3] [0] == '=') COUT << MP [T [0] * 10 + MP [T [1] ] + MP [T [3] << ENDL。 // ** + ** IF(T [2] == "+" && T [5] [0] == '=' ) COUT << MP [T [0] * 10 + MP [T [1] + MP [T [3] * 10 + MP [T [4] << ENDL。 } 0を返します。 }