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;}版权声明:本文标题:转换大师:快速掌握整数到SWF格式的输出秘籍 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/p/1772081308a3551909.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论