PAT Basic 1006. 换个格式输出整数

PAT Basic 1006. 换个格式输出整数

1. 题目描述:

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

2. 输入格式:

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

3. 输出格式:

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

4. 输入样例:

234
23

5. 输出样例:

BBSSS1234
SS123

6. 性能要求:

Code Size Limit
16 KB
Time Limit
400 ms
Memory Limit
64 MB

思路:

思路比较直接,统计各位数字,按照要求进行输出即可。

My Code:

#include <stdio.h>

int main(void)
{
    char digits[] = {'1', '2', '3', '4', '5', '6', '7', '8', '9'};
    int num = 0;
    int countBai = 0, countShi = 0, countGe = 0;
    
    scanf("%d", &num);
    
    countGe = num % 10;
    num /= 10;
    
    countShi = num % 10;
    num /= 10;
    
    countBai = num % 10;
    
    while(countBai)
    {
        printf("%c", 'B');
        countBai--;
    }
    while(countShi)
    {
        printf("%c", 'S');
        countShi--;
    }
    for(int i = 0 ; i < countGe ; i++)
        printf("%c", digits[i]);
    
    
    return 0;
}
posted @ 2023-02-25 09:51  十豆加日月  阅读(13)  评论(0编辑  收藏  举报