PAT乙级1006 换个格式输出整数 (15分)(C语言 + 详细注释)

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

输入格式:

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

输出格式:

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

输入样例 1:

234

输出样例 1:

BBSSS1234

输入样例 2:

23

输出样例 2:

SS123
//思路分析:本题并不难想,只需得到这个数字的百位、十位和个位,按照要求输出即可

//代码:


#include<stdio.h>

int main() {
    int x, temp;
    scanf("%d", &x);              //读入一个数
    temp = x / 100;                //得到百位
    while (temp--)                  //小技巧:当要执行的次数为n,且与顺序无关时,while(n--)即可实现
        printf("B");                    
    temp = (x % 100) / 10;       //得到十位
    while (temp--)
        printf("S");
    temp = x % 10;                  //得到个位
    for (int i = 1; i <= temp; i++)              //从1开始输出1,2,3...temp
        printf("%d", i);
    return 0;
}



发布了34 篇原创文章 · 获赞 20 · 访问量 609

猜你喜欢

转载自blog.csdn.net/qq_45472866/article/details/104068547