让我们用字母 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:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| #include <cstdio> #include <string> #include <iostream> using namespace std; int main(){ string s; cin>>s; int count=1; for(int i=0;i<s.length();i++){ for(int j=0;j<s[i]-'0';j++){ if(s.length()==3&&i==0){ cout<<"B"; }else if((s.length()==3&&i==1)||(s.length()==2&&i==0)){ cout<<"S"; }else { cout<<count; count++; } } } return 0; }
|
代码2:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| #include <cstdio> #include <iostream> #include <algorithm> using namespace std; int main(){ int n,i=0; cin>>n; int k[3]={0}; while(n!=0){ k[i++]=n%10; n/=10; } for(int j=0;j<k[2];j++) cout<<"B"; for(int j=0;j<k[1];j++) cout<<"S"; for(int j=0;j<k[0];j++) cout<<j+1; return 0; }
|