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;
}

 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号