PAT-B] 1006. 换个格式输出整数 [模拟]

链接:1006. 换个格式输出整数 (15)

题意

给一个小于1000的正整数,按照以下格式输出:

  1. 个位数:从1开始按顺序输出直到等于个位数为止
    (如个位数为7,则输出1234567
  2. 十位数:按十位数的大小输出相应数量的 S
  3. 百位数:按百位数的大小输出相应数量的 B

则,如果给一个两位数43,我们就要输出SSSS123

分析

题意比较简单,按照思路写下来就好了。

代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <cstdio>
int main()
{
int n;
while( ~scanf( "%d", &n ) ){
int b, s, g; // 百, 十, 个
g = n % 10; // 存放个位数
n /= 10;
s = n % 10; // 存放十位数
n /= 10;
b = n % 10; // 存放百位数
for( int i = 0; i < b; i++ )
putchar( 'B' );
for( int i = 0; i < s; i++ )
putchar( 'S' );
for( int i = 0; i < g; i++ )
printf( "%d", i + 1 );
puts( "" );
}
return 0;
}

小结

大水题。