1006. 换个格式输出整数 (15)
时间限制
400 ms
内存限制
65536 kB
代码长度限制
8000 B
判题程序
Standard
作者
CHEN, Yue
让我们用字母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<iostream>
#include <vector>
#include<algorithm>
#include <cstdio>
using namespace std;
/* 把一个整数的每一位分离,放入到arr数组中去 */
void sepEveryBit(const int num, int arr[])
{
arr[0] = num/100; //百位
arr[1] = num%100/10; //十位
arr[2] = num%10; //个位
}
int main()
{
int N = 0, i = 0;
int arr[3] = {0};
string ress;
while(scanf("%d",&N) != EOF)
{
/* 把每一位分离 */
sepEveryBit(N,arr);
/* 防止上一次结果影响 */
ress.clear();
/* 添加百位 */
for(i = 0; i < arr[0]; i++)
{
ress += "B";
}
/* 添加十位 */
for(i = 0; i < arr[1]; i++)
{
ress += "S";
}
/* 添加个位 */
for(i = 0; i < arr[2]; i++)
{
ress += ('0'+i+1);
}
cout << ress << endl;
}
}