PTA1006 换个格式输出整数(C++)

发布时间 2023-04-26 19:48:32作者: 轻挼草色

一、问题描述:

让我们用字母 B 来表示“百”、字母 S 表示“十”,用 12...n 来表示不为零的个位数字 n<10),换个格式来输出任一个不超过 3 位的正整数。例如 234 应该被输出为 BBSSS1234,因为它有 2 个“百”、3 个“十”、以及个位的 4。

输入格式:

每个测试输入包含 1 个测试用例,给出正整数 n(<1000)。

输出格式:

每个测试用例的输出占一行,用规定的格式输出 n。

二、设计思路:

  1. 输入正整数n;
  2. 将各位上的数字存入数组中;
  3. 百位上的数字用循环只要大于0就输出“B”,该位数字减一,十位同理输出"S“,个位需要设立一个数字从1递增输出。

三、代码实现:

 1 #include <iostream>
 2 using namespace std;
 3 int main()
 4 {
 5     int n;
 6     int a[3]={0};
 7     cin>>n;
 8     for(int i=0;n>0;i++)
 9     {
10         a[i]=n%10;
11         n/=10;
12     }
13     while(a[2]>0)
14     {
15         cout<<"B";
16         a[2]--;
17     }
18     while(a[1]>0)
19     {
20         cout<<"S";
21         a[1]--;
22     }
23     for(int j=1;a[0]>0;j++,a[0]--)
24     {
25         cout<<j;
26     }
27     cout<<endl;
28     return 0;
29 }