admin 管理员组

文章数量: 1184232

【题解PAT】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

解题思路

本题的解题思路不难,求出正整数n的各位数字再按照相应格式输出即可。在求正整数n的各位数字时,博主采用 to_string()函数 来提高求解速度。
to_string()函数可以自动将int型整数n转化为字符串
例如:
string str=to_string(234);
str={“234”};

C++语言实现源代码

#include<iostream>#include<string>usingnamespace std;intmain(){int n,len;scanf("%d",&n);
    string str =to_string(n);
    len = str.size();for(int i = len-1; i >=0; i--){if(i==2)for(int j =0; j < str[len-i-1]-'0'; j++)printf("B");elseif(i==1)for(int j =0; j < str[len-i-1]-'0'; j++)printf("S");elsefor(int j =1; j <= str[len-i-1]-'0'; j++)printf("%d", j);}return0;}

本文标签: 例如 编程 字母