1006 换个格式输出整数

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

题目很简单,直接看代码

 1 #include<iostream>
 2 #include<vector>
 3 using namespace std;
 4 int main()
 5 {
 6     int n;
 7     cin>>n;
 8     vector<char> v;
 9     for(int i=1;n!=0;n/=10,i++)
10     {
11         if(i==1)  //处理个位上的数,且各位上的数不为0
12         {
13             for(int j=n%10;j>=1;j--)  //取个位上的数
14                   v.push_back('0'+j);
15         }
16         else if(i==2)   //处理十位上的数
17         {
18             for(int j=n%10;j>=1;j--) //取十位上的数
19                 v.push_back('S');
20         }
21         else    //处理百位上的数 
22         {
23             for(int j=n%10;j>=1;j--) //取百位上的数
24                 v.push_back('B');
25         }
26     }
27     vector<char>::iterator iter;
28     for(iter=v.end()-1;iter!=v.begin();iter--)
29         cout<<*iter;
30     cout<<*iter;
31     return 0;
32 }

ac了




原文地址:https://www.cnblogs.com/buanxu/p/12812577.html