[PAT B]実践1006は、出力のフォーマットを変更する整数

PAT(初級)実践(中国)1006

1006出力の変化形式整数

文字ましょうB文字は、「百」を意味するためにS使用される、「10」を表す12...n非ゼロの数字を示すためにn(<10)、出力する形式に変更しない3以下の正の整数。例えば、234それは出力されるべきBBSSS1234ことは、2つの「百」、3「10」、及び4ビットを有するので、。

入力フォーマット:

各試験は、正の整数が与えられると、テスト入力を含む、N-(<1000)。

出力フォーマット:

所定の出力形式とライン当たりの各出力テストケース、N-

サンプル入力1:

234

出力サンプル1:

BBSSS1234

サンプル入力2:

23

出力サンプル2:

SS123

アイデア:

質問の意味は、それぞれの値の文字列に基づいて、配列を作成し、添字「B」、デジタル入力文字列に変換し、2つの文字「S」のインデックス、およびを確立し、出力します。

コード:

#include <iostream>
#include <string>
using namespace std;
int main() {
    int n;
    cin >> n;
    string kumi[3] = { "0","S","B" };
    string str = to_string(n);
    for (int i = 0; i < str.size(); i++) {
        for (int j = 0; j < (str[i] - '0'); j++) {
            if (i != str.size() - 1)
                cout << kumi[str.size() - i - 1];
            else {
                for (int k = 1; k <= str[i] - '0'; k++)
                    cout << k;
                break;
            }
        }   
    }
}

おすすめ

転載: www.cnblogs.com/eisuto/p/12422891.html