PAT 1006 换个格式输出整数

https://pintia.cn/problem-sets/994805260223102976/problems/994805318855278592

 

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

输入格式:每个测试输入包含1个测试用例,给出正整数n(&lt1000)。

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

输入样例1:

234

输出样例1:

BBSSS1234

输入样例2:

23

输出样例2:

SS123
 
代码:
#include <bits/stdc++.h>

using namespace std;

int main()
{
    int n;
    scanf("%d",&n);
    int a=n/100;
    if(a==0)
    {
        int b=n/10;
        if(b==0)
        {
            for(int i=1; i<=n; i++)
                printf("%d",i);
        }
        else
        {
            for(int i=1;i<=b;i++)
                printf("S");
            n=n-10*b;
            for(int i=1;i<=n;i++)
                printf("%d",i);
        }
    }
    else
    {
        for(int i=1;i<=a;i++)
        printf("B");
        n=n-100*a;
        int m=n/10;
        if(m==0)
        {
            for(int i=1; i<=n; i++)
                printf("%d",i);
        }
        else
        {
            for(int i=1;i<=m;i++)
                printf("S");
            n=n-10*m;
            for(int i=1;i<=n;i++)
                printf("%d",i);
        }
    }
    printf("\n");
    return 0;
}

  

posted @ 2018-07-03 21:18  丧心病狂工科女  阅读(114)  评论(0编辑  收藏  举报