1006 换个格式输出整数 (15 分)

让我们用字母 B 来表示“百”、字母 S 表示“十”,用 12...n 来表示不为零的个位数字 n<10),换个格式来输出任一个不超过 3 位的正整数。例如 234 应该被输出为 BBSSS1234,因为它有 2 个“百”、3 个“十”、以及个位的 4。

输入格式:

每个测试输入包含 1 个测试用例,给出正整数 n(<1000)。

输出格式:

每个测试用例的输出占一行,用规定的格式输出 n。

输入样例 1:

234

输出样例 1:

BBSSS1234

输入样例 2:

23

输出样例 2:

SS123


由于题目限制不超过3位的正整数,故可以考虑采用分支结构switch case,选择输入字符的长度,按照输入字符串的长度
分类处理。
#include <bits/stdc++.h>
using namespace std;

int main()
{
    string str;
    cin>>str;
    int len=str.length();
    switch(len)
    {
        case 3:
            for(int i=0;i<str[0]-'0';i++)
                cout<<"B";
            for(int i=0;i<str[1]-'0';i++)
                cout<<"S";
            for(int i=1;i<=str[2]-'0';i++)
                cout<<i;
                break;
        case 2:
            for(int i=0;i<str[0]-'0';i++)
                cout<<"S";
            for(int i=1;i<=str[1]-'0';i++)
                cout<<i;
                break;
        case 1:
            for(int i=1;i<=str[0]-'0';i++)
                cout<<i;
    }
    cout<<endl;
    
}

 












posted @ 2018-12-24 11:55  focusDing  阅读(167)  评论(0编辑  收藏  举报